20.Valid Parentheses

思路:
  • 栈的应用。如果是'(','{','[',则只需入栈即可,如果是'}',']',')',则要看栈顶的字符是否和其匹配。
class Solution {
public:
    bool isValid(string s) {
        stack<char> res;
        for(int i = 0; i < s.length(); i++){
            if(s[i] == '(' || s[i] == '{' || s[i] == '[') res.push(s[i]);
            else if(s[i] == ')' && !res.empty() && res.top() == '(') res.pop();
            else if(s[i] == '}' && !res.empty() && res.top() == '{') res.pop();
            else if(s[i] == ']' && !res.empty() && res.top() == '[') res.pop();
            else return false;
        }
        return res.empty();
    }
};
posted @ 2017-06-16 07:16  UniMilky  阅读(89)  评论(0编辑  收藏  举报