给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效

42 阅读1分钟

image-1658234246245转存失败,建议直接上传图片文件

解法

/**
 * @param {string}
 * @return {boolean}
 */


 var isValid = function(s) {


    if( !s || s.length % 2 !== 0) {
        return false
    } 

    let stack = []
    let map = {
        '(': ')',
        '[': ']',
        '{': '}',
    }

    for(let str of s) {
        if (stack.length === 0) {
            stack.push(str)
        }else {
            if ( str === map[ stack[stack.length -1]] ) {
                stack.pop()
            } else {
                stack.push(str)
            }

        }
    }

    return stack.length === 0 ? true : false

    
 };


console.log(isValid("[()]"))