美文网首页
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