【2019秋冬】【LeetCode】20 有效的括号

class Solution {
public:
    bool isValid(string s) {
        if(s.length()%2!=0) return false;
        stack<char> left;
        unordered_map<char,char> pei;
        pei['('] = ')';
        pei['['] = ']';
        pei['{'] = '}';
        for(int i=0; i<s.length(); i++){
            if(s[i]=='('||s[i]=='['||s[i]=='{') left.push(s[i]);
            else
                if(left.empty()) return false;
                if(s[i]==pei[left.top()]) left.pop();
        }
        if(left.size()>0) return false;
        return true;
    }
};

思路是对的,但是几个特殊的地方没注意到,比如( (( }}
最后一种情况直接判断空,就能解决

发布了226 篇原创文章 · 获赞 4 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术工厂 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览