20 - Valid Parenthesesf
#easy
Given a string s 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.
- Every close bracket has a corresponding open bracket of the same type.
Example 1:
Input: s = "()"
Output: true
class Solution {
public:
bool isValid(string s) {
if ( s.size() % 2 == 1 ) return false;
stack<char> bracket_stack;
for ( int i = 0; i < s.size(); i++ ) {
if ( s[i] == '{' ) bracket_stack.push('}');
else if ( s[i] == '[' ) bracket_stack.push(']');
else if ( s[i] == '(') bracket_stack.push( ')');
else if ( bracket_stack.empty() || s[i] != bracket_stack.top() ) return false;
else bracket_stack.pop();
}
return bracket_stack.empty();
}
};