括号匹配,如此简单
class Solution {
public:
bool isValid(string s) {
stack<char> bac;
for(auto c : s)
{
if(c == '(' || c == '{' || c == '[')
bac.push(c);
// 差ascii表可知,匹配的左右括号距离不超过2
else if(bac.empty() || abs(c - bac.top()) > 2)
return false;
else
bac.pop();
}
return bac.empty();
}
};