Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
An input string is valid if:
- Open brackets must be closed by the same type of brackets.
- Open brackets must be closed in the correct order.
Note that an empty string is also considered valid.
Example 1:
Input: "()"
Output: true
  Example 2:
Input: "()[]{}"
Output: true
  Example 3:
Input: "(]"
Output: false
  Example 4:
Input: "([)]"
Output: false
  Example 5:
Input: "{[]}"
Output: true  
简单题。。但是还是看的柳婼的答案过的。。用的 栈hh
class Solution {
public:
    bool isValid(string s) {
        stack<int> t;
        for(int i=0;i<s.length();i++)
        {
            if(s[i]=='('||s[i]=='['||s[i]=='{'){
                t.push(s[i]);
            }else if(s[i]==')'){
                if(i==0||t.empty()||t.top()!='('){
                    return false;
                }
                t.pop();
            }else if(s[i]=='}'){
                if(i==0||t.empty()||t.top()!='{'){
                    return false;
                }
                t.pop();
            }else if(s[i]==']'){
                if(i==0||t.empty()||t.top()!='['){
                    return false;
                }
                t.pop();
            }
        }
        return t.empty();
    }
};  

 京公网安备 11010502036488号
京公网安备 11010502036488号