使用栈
- 时间复杂度:O(n)
- 空间复杂度:O(n)
var isValid = function(s) {
var stackArr = [];
var mapObj = {
")": "(",
"}": "{",
"]": "["
};
for(var i = 0; i < s.length; i++) {
if(!mapObj[s[i]]) {
stackArr.push(s[i]);
} else {
if(stackArr.pop() != mapObj[s[i]]) {
return false;
}
}
}
return !stackArr.length;
};
本文介绍了一种利用栈数据结构来验证括号序列是否有效的算法。通过遍历输入字符串,遇到左括号则压入栈中,遇到右括号则检查栈顶元素是否为对应的左括号,以此判断括号配对是否正确。该算法的时间复杂度为O(n),空间复杂度也为O(n)。
235

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



