20. Valid Parentheses
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 == '(' || c== '{' || c == '[')
st.push(c);
else if(c == ')' && !st.empty() && st.top() == '(')
st.pop();
else if(c == '}' && !st.empty() && st.top() == '{')
st.pop();
else if(c == ']' && !st.empty() && st.top() == '[')
st.pop();
else
return false;
}
return st.empty();
}
};