leetcode

Solution 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 }
11 public:
12 bool isValid(string s) {
13 stack<char> st;
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;
27 return st.empty();
28 }
29 };