# 有效的括号
# 题目
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串
# 思路
- hash
- 遇到左括号就塞进数组
- 遇到右括号,就拿出最前面的左括号进行抵消
# 代码
function isValid(s) {
const map = {
'{': '}',
'[': ']',
'(': ')'
}
const temp = []
for (let i = 0; i < s.length; i++) {
if (s[i] in map) {
temp.push(s[i])
} else {
if (s[i] !== map[temp.pop()]) return false
}
return !temp.length
}
}
← 无重复字符的最长子串 括号生成 →