美文网首页
2020-06-24 20. Valid Parentheses

2020-06-24 20. Valid Parentheses

作者: 苦庭 | 来源:发表于2020-06-25 05:58 被阅读0次

    https://leetcode.com/problems/valid-parentheses/

    My answer / AC

    /**
     * @param {string} s
     * @return {boolean}
     */
    var isValid = function(s) {
        let stack = [];
        let map = {
            '(':')',
            '[':']',
            '{':'}'
        }
        s=s.split("").forEach((c,i)=>{
            if(c.match(/[\(\[\{]/)) {
                stack.push(c);
            } else if (c.match(/[\)\]\}]/)){
                let compare = stack.pop();
                if(!(map[compare]==c)) {
                    stack.push(compare);
                    stack.push(c);  
                }
            }
        });
    
        return stack.length==0;
    };
    

    栈的使用,很重要~

    Best answer

    var isValid = function(s) {
        while(s.match(/\(\)|\[\]|\{\}/g)){
            s = s.split('()').join('').split('[]').join('').split('{}').join('');
        }
        if(!s) return true;
        return false;
    };
    

    我一开始的想法就是类似的写法,可惜没能够实现出来。这个写得很好!

    Recap

    关于这种字符串两两配对的,要考虑是stack吼!!

    相关文章

      网友评论

          本文标题:2020-06-24 20. Valid Parentheses

          本文链接:https://www.haomeiwen.com/subject/wfijfktx.html