创建一个函数来判断给定的表达式中的大括号是否闭合,返回 True/False,对于空字串,返回 True

思路:
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
    }
发布了42 篇原创文章 · 获赞 4 · 访问量 6117

猜你喜欢

转载自blog.csdn.net/qq_43427385/article/details/100877306