题目: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
示例 1:
输入:s = "()[]{}" 输出:true示例 2:
输入:s = "(]" 输出:false
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-parentheses
若a在map中,则将其存入stack数组中并结束此次循环进入下一循环。
若a不在map中,则判断map对象对应键的值中是否含有a,不存在,则直接返回false结束函数,
存在,则进入下一循环直至结束。
(
stack.pop(),删除数组最后一值并返回该值
map[stack.pop()],判断map数组中是否含有该返回值
)
var isValid = function(s) {
const stack = [ ],
map = {
"(":")",
"{":"}",
"[":"]"
};
for(const a of s) {
if(a in map) {
stack.push(a);
continue;
};
if(map[stack.pop()] !== a)
{
return false;
}
}
return !stack.length;
};