LeetCode HOT100 - 有效的括号

用栈模拟即可

但情况的覆盖,比如栈为空,或最后没匹配完的情况等

注意从 string 中遍历出来的是 char 类型

class Solution {
public:
    bool isValid(string s) {
        vector<char> st;
        for (auto i : s) {
            if (i == '{' || i == '[' || i == '(') {
                st.emplace_back(i);
            } 
            else {
                if (st.empty()) return false;
                if (i == '}') {
                    if (st.back() != '{') return false;
                } else if (i == ']') {
                    if (st.back() != '[') return false;
                } else if (i == ')') {
                    if (st.back() != '(') return false;
                }
                st.pop_back();
            }
        }
        return st.empty();
    }
};
posted @ 2026-04-16 23:23  rdcamelot  阅读(18)  评论(0)    收藏  举报