验证括号闭合有效性

2021-03-16  本文已影响0人  Volcaner
// "{{{[[[((()))]]]}}}(())"

/**
  * 
  * @param s string字符串 
  * @return bool布尔型
  */
function isValid( s ) {
    // write code here
    const list = {
        '(': ')',
        '[': ']',
        '{': '}'
    };
    let stack = [];
    const _listKeys = Object.keys(list);
    // stack.push(s.charAt(0));
    for(let i = 0; i < s.length; i++) {
        if(_listKeys.indexOf(s.charAt(i)) > -1) stack.push(s.charAt(i));
        else {
            if(stack.length > 0 && list[stack[stack.length - 1]] === s.charAt(i)) 
                stack.pop();
            else return false;
        }
    }
    
    return stack.length === 0;
}
module.exports = {
    isValid : isValid
};
上一篇 下一篇

猜你喜欢

热点阅读