思路:
1,检查字符串,将左括号看成是一类,右括号看成一类
2,左括号看成是入栈的信号,右括号看成是出栈的信号
3,将左括号放在一个数组里面,如果有右括号就把左括号的数组删除一个元素
4,直到左括号的元素没有,判断是true或false
var expression = "{{}}{}{}"
var expressionFalse = "{}{{}";
console.log(isBalanced(expression)) //true
console.log(isBalanced(expressionFalse)) //false
function isBalanced(exp) {
var str = exp.split("")
var obj = []
for (let i = 0; i < str.length; i++) {
if(str[i] == '{'){
obj.push('{')
}else if(str[i] == '}'){
if(obj.length == 0){
return false
}
obj.splice(0,1)
}
}
return obj.length == 0
}