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> st;
for(auto c : s){
if(c == '(')
st.push(')');
else if(c == '[')
st.push(']');
else if(c == '{')
st.push('}');
else {
if(st.empty() || st.top() != c)
return false;
st.pop();
}
}
return st.empty();
}
};