入栈和出栈的思想,所有的操作完成后,都不能情况所有的元素,则说明出栈有bug,应该返回false
还有一个就是当出栈一个元素时候,如果被允许出栈的元素和需要出栈的元素不能匹配到,则直接返回false 因为我们要遵循栈的先入后出的要求
var isValid = function(s) {
var arr = []
var obj = {
')':'(',
']':'[',
'}':'{'
}
for(var i =0;i<s.length;i++){
var item = s[i]
if(['(','{','['].includes(item)){
arr.push(item)
}else{
if(obj[item] && arr.pop() !== obj[item]){
return false
}
}
}
return !arr.length
};