用一个栈维护。
class Solution {
public:
bool isValid(string s) {
stack<int> stk;
int len = s.size();
for(int i = 0; i < len; i++)
{
if(s[i] == '(' || s[i] == '[' || s[i] == '{')
stk.push(s[i]);
else
{
if(s[i] == ')')
if(stk.empty() || stk.top() != '(') return false;
else stk.pop();
if(s[i] == ']')
if(stk.empty() || stk.top() != '[') return false;
else stk.pop();
if(s[i] == '}')
if(stk.empty() || stk.top() != '{') return false;
else stk.pop();
}
}
if(!stk.empty()) return false;
return true;
}
};


京公网安备 11010502036488号