class Solution { public: bool isValid(string s) { stack<char> brackts; for(int i = 0; i < s.size(); i++) { if(s[i] == '(' || s[i] == '[' || s[i] == '{') brackts.push(s[i]); else if(brackts.empty() || s[i] == ')' && brackts.top() != '(' || s[i] == ']' && brackts.top() != '[' || s[i] == '}' && brackts.top() != '{') return false; else brackts.pop(); } return brackts.empty(); } };
用栈来解决,比较简单,匹配对称即可。