十进制转二进制和判断字符串
来源: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]来取字符
00
相似问题