用一个栈维护。
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; } };