class Solution {
public:
bool isValid(string s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
stack<char> stk;
for (int i = 0; i < s.size(); i++) {
char ch = s[i];
if (ch == '(' || ch == '[' || ch == '{') {
stk.push(ch);
} else if (ch == ')') {
if (stk.empty() || stk.top() != '(')
return false;
else
stk.pop();
} else if (ch == ']') {
if (stk.empty() || stk.top() != '[')
return false;
else
stk.pop();
} else if (ch == '}') {
if (stk.empty() || stk.top() != '{')
return false;
else
stk.pop();
}
}
return stk.empty();
}
};
Small Case: 4ms
Large Case: 12ms
Time: O(n)
Space: O(n)