判断输入的中括号是否匹配

180 阅读1分钟

给定任意str='{{{{}}}}',判断中括号是否匹配,匹配返回字符串合法,不匹配返回字符串不合法。如'{{}{}}'是合法的,而'{{}}}'是不合法的。

function fn(str){
    var flag=true;
     var sum=0;
    for(var i=0;i<str.length;i++){
        var num=0;
        if(str.charAt(i)==='{'){
            num=1;
        }else{
            num=-1;
        }
        sum+=num;
        if(sum<0){
            flag=false;
            break;
        }
    }
    if(sum!==0){
        flag=false;
    }
    if(flag){
        return '字符串合法';
    }else{
        return'字符串不合法';
    }
}
var str='{{}}';
console.log(fn(str));