llllmz

导航

20. 有效的括号

学习了C++ stack的使用

class Solution {
public:
    #include<stack>
    bool isValid(string s) {
        stack<char> stk;
        for(int i = 0; i < s.size(); ++i){
            if(s[i] == '(' || s[i] == '[' || s[i] == '{'){
                stk.push(s[i]);
            }else{
                if(!stk.empty()){
                    char ch = stk.top();
                    if(ch == '(' && s[i] == ')'){
                        stk.pop();
                    }else if(ch == '[' && s[i] == ']') {
                        stk.pop();
                    }else if(ch == '{' && s[i] == '}') {
                        stk.pop();
                    }else {
                        return false;
                    }
                }else{
                    return false;
                }
            }
        }
        return stk.empty();
    }
};

 

posted on 2024-09-19 11:16  神奇的萝卜丝  阅读(17)  评论(0)    收藏  举报