十进制转二进制和判断字符串

来源:3-2 什么场景下用栈

INNOVATION882672

2022-05-06

十进制转二进制
//10 -> 2 将余数依次入栈,然后在出栈,从而实现余数倒序输出。

function fn1(index) {
const arr = [];

while (index > 0) {
arr.push(index % 2);
index = Math.floor(index / 2);
}
let str = “”;
while (arr.length > 0) {
str += arr.pop();
}

return str;
}

console.log(fn1(35));
判断字符串的括号是否有效
//越靠后的左括号,对应的右括号就越靠前。左括号进栈,右括号出栈,栈空合法

function fn2(item) {
const arr = [];

for (let i = 0; i < item.length; i++) {
if (item.substr(i, 1) === “(”) {
arr.push(i);
}
if (item.substr(i, 1) === “)”) {
arr.pop();
}
}
return arr.length === 0;
}

console.log(fn2("((()(())))"));

写回答

1回答

lewis

2022-05-06

可以直接用item[i]来取字符

0
0

JavaScript版数据结构与算法 轻松解决前端算法面试

夯实算法基础,填补技术短板,助力面试考题最后一公里

2479 学习 · 683 问题

查看课程