LeetCode第 20 题:有效的括号(C++)

leetcode链接
LeetCode第 20 题:有效的括号(C++)_第1张图片

primer里面栈的典型应用了。。

class Solution {
public:
    bool isValid(string s) {
        int n = s.size();
        if(n == 0)  return true;
        if(n % 2) return false;//长度为奇数
        stack stk;
        stk.push(s[0]);
        for(int i = 1; i < n; ++i){
            if(!stk.empty() && (s[i] == ')' && stk.top() == '('|| s[i] == ']' && stk.top() == '['|| s[i] == '}' && stk.top() == '{'))
                stk.pop();
            else    stk.push(s[i]);
        }
        return stk.empty();
    }
};

你可能感兴趣的:(leetcode)