leetcode 20. Valid Parentheses

来源:互联网 发布:为知笔记vip破解版 编辑:程序博客网 时间:2024/05/16 18:13

Given a string containing just the characters '(', ')','{', '}', '[' and ']', determine if the input string is valid.

The brackets must close in the correct order, "()" and "()[]{}" are all valid but"(]" and "([)]" are not.

解:这是一道简单题,理解算数式子的实现就是利用栈

class Solution {public:    bool isValid(string s) {        stack<char> tmp;        for(int i = 0; i < s.size(); ++i){            switch(s[i]){                case '(':                case '[':                case '{': tmp.push(s[i]);break;                case ')': if(tmp.empty() || tmp.top() != '(') return false;else tmp.pop();break;                case ']': if(tmp.empty() || tmp.top() != '[') return false;else tmp.pop();break;                case '}': if(tmp.empty() || tmp.top() != '{') return false;else tmp.pop();break;                default: ;            }        }        return tmp.empty();    }};