leetcode 算法题020 (简单006) 有效的括号
- 题目介绍
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
- 示例
输入: “()”
输出: true
输入: “()[]{}”
输出: true
输入: “(]”
输出: false
输入: “([)]”
输出: false
输入: “{[]}”
输出: true
- 解法一
if (s.length % 2 !== 0) {
return false;
}
let temp = [], i = 0;
while (i < s.length) {
switch (s[i]) {
case ')':
if(temp.length && temp[temp.length - 1] === '(') {
temp.length = temp.length - 1
break;
}
return false;
case ']':
if(temp.length && temp[temp.length - 1] === '[') {
temp.length = temp.length - 1
break;
}
return false;
case '}':
if(temp.length && temp[temp.length - 1] === '{') {
temp.length = temp.length - 1
break;
}
return false;
default:
temp[temp.length] = s[i];
break;
}
i++;
}
return temp.length === 0;
执行用时 : 76ms, 在所有 JavaScript 提交中击败了81.19%的用户
内存消耗 : 33.8MB, 在所有 JavaScript 提交中击败了33.8%的用户