[LeetCode]20. Valid Parentheses
题目描述
思路
常规思路栈
(据说可以用hash,待尝试)
代码
#include <iostream>
#include <stack>
using namespace std;
class Solution {
public:
bool isValid(string s) {
stack<char> l;
for (char ch : s) {
switch (ch) {
case '{':
case '[':
case '(':
l.push(ch);
break;
case '}':
if (l.empty() || l.top() != '{')
return false;
else
l.pop();
break;
case ']':
if (l.empty() || l.top() != '[')
return false;
else
l.pop();
break;
case ')':
if (l.empty() || l.top() != '(')
return false;
else
l.pop();
break;
default:
break;
}
}
return l.empty();
}
};
int main() {
Solution s;
cout << s.isValid("[()]") << endl;
system("pause");
return 0;
}