
微信公众号:醉前端关注可了解更多题目。
题 目
Q:
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:
左括号必须用相同类型的右括号闭合;左括号必须以正确的顺序闭合;注意空字符串可被认为是有效字符串。
- 示例1:
输入: "()",输出: true
- 示例2:
输入: "()[]{}",输出: true
- 示例3:
输入: "(]",输出: false
- 示例4:
输入: "([)]",输出: false
- 示例5:
输入: "{[]}",输出: true
答 案
const isValid = s => {
let valid = true;
const stack = [];
const mapper = {
'{': "}",
"[": "]",
"(": ")"
}
for(let i in s) {
const v = s[i];
if (['(', '[', '{'].indexOf(v) > -1) {
stack.push(v);
} else {
const peak = stack.pop();
if (v !== mapper[peak]) {
return false;
}
}
}
if (stack.length > 0) return false;
return valid;
}
每日更新一道算法题,加个关注呗老铁!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。