标签匹配规则

279 阅读1分钟
var str = "(){()[{}]}"
function isMath(str){
    const map = {
        '(': ')',
        '{':'}',
        '[':']'
    }
    

    const len = str.length;
    let arr = [];
    let noMath = false;
    for(let i = 0; i<len;i++){
        const l = arr.length;
        const lastChar = arr[l]
        const curChar = str.charAt(i);
        if(!map[curChar]){
            noMath = true;
            break
        }
        
        if(map[lastChar]===curChar){
            arr.pop()
        }else{
            arr.push(curChar)
        }
        
    }
    
    if(noMath) return false;
    return arr.length 
}