括号匹配

//括号匹配核心思想应该就是遇到左半边括号进栈,遇到右半边括号则出栈,判断当前出栈的括号是否与右括号匹配
//不匹配则返回false
function match(str){
    var arr = str.split("");
    var left = [];
    for(var i=0;i<arr.length;i++){
        if(/(\[|\{|\()/.test(arr[i])){
            left.push(arr[i]);
        }else{
            var x = left.pop();
            if(arr[i]==')'&&x!='('){
                return false;
            }else if(arr[i]==']'&&x!="["){
                return false;
            }else if(arr[i]=='}'&&x!="{"){
                return false;
            }else{
                continue;
            }
        }
    }
    return true; 
}

 

console.log(match('[{}]()'));
console.log(match('[{]}'));
posted @ 2021-07-08 11:20  你风致  阅读(76)  评论(0编辑  收藏  举报