leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
0020.cpp (700B)
0 class Solution { 1 char is_open(char c) { return c == '(' || c == '[' || c == '{'; } 2 char get_open_pair(char c) { 3 switch (c) { 4 case ')': return '('; 5 case ']': return '['; 6 case '}': return '{'; 7 default: return 0; 8 } 9 } 10 11 public: 12 bool isValid(string s) { 13 stack<char> st; 14 15 char t; 16 for (auto c : s) 17 if (is_open(c)) 18 st.push(c); 19 else if ((t = get_open_pair(c))) 20 if (!st.empty() && st.top() == t) 21 st.pop(); 22 else 23 return false; 24 else 25 return false; 26 27 return st.empty(); 28 } 29 };