整理下初学时做过的js基础编程题目和大家分享以下,如果大家觉得有用,别忘了点一下赞哦
匹配括号字符串
给定一个包括"(","{","[","]","}",")"的字符串,判断是否有效,有效字符串需满足
1.做括号必须用相同类型的右括号闭合
2.左括号必须以正常顺序闭合
采用入栈出栈的方式实现
function test(str) {
let temp
let res = []
strArr = str.match(/(\(|\)|\{|\}|\[|\]){1}/g)
while (temp = strArr.shift()) {
switch (temp) {
case "(":
res.push(temp);
break;
case "{":
res.push(temp);
break;
case "[":
res.push(temp);
break;
case ")":
res[res.length - 1] === "("?res.pop():res.push(temp)
break;
case "}":
res[res.length - 1] === "{"?res.pop():res.push(temp)
break;
case "]":
res[res.length - 1] === "["?res.pop():res.push(temp)
break;
}
}
return res.length === 0
}
这篇博客分享了一道JavaScript编程题目,涉及字符串处理和栈数据结构的应用。内容是检查给定的括号字符串是否有效,有效条件为括号必须正确配对且顺序正确。通过创建一个栈来存储左括号,遇到右括号时检查栈顶的左括号是否匹配,匹配则弹出栈顶元素,否则将右括号压入栈。最后栈为空则字符串有效。
7305

被折叠的 条评论
为什么被折叠?



