LeetCode 20 Valid Parentheses
Translation
Specify a string that only contains '(', ')', '{', '}', '[', and ']' to determine whether the input string is valid. Brackets must be closed in the correct form. () and () [] {} are valid, but (] and ([)] are not.
Original
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.
Code
class Solution {public: bool isValid(string s) { if(s.size() % 2 != 0) return 0; stack
brackets; int i = 0; while(i < s.size()) { if(brackets.empty()) { brackets.push(s[i]); } else { if((brackets.top() == '(' && s[i] == ')') || (brackets.top() == '[' && s[i] == ']') || (brackets.top() == '{' && s[i] == '}')) { brackets.pop(); } else { brackets.push(s[i]); } } i ++; } return brackets.size() == 0; }};