问题描述:
代码:
class Solution {
public:
bool isValid(string s) {
stack<char> ch;
map<char, char> sym = { { '{', '}' }, { '[', ']' }, { '(', ')' } };
for (auto &c: s)
{
if (c == '{' || c == '[' || c == '(' )
{
ch.push(c);
}
else
{
if (ch.empty())
{
return false;
}
char top = ch.top();
ch.pop();
if (sym[top] != c)
{
return false;
}
}
}
return ch.empty(); //空的说明全部匹配
}
};