牛客题霸--括号匹配题解
括号序列
http://www.nowcoder.com/questionTerminal/37548e94a270412c8b9fb85643c8ccc2
用栈的性质来解题
当栈为空时: 把字符入栈
不为空时: 比较当前元素和栈顶是否匹配, 如果匹配, 则出栈
最后判断栈中的元素就是不可匹配的字符
class Solution { public: bool isValid(string s) { stack<char>se; for ( int i = 0; i < s.size(); i++ ) { if ( se.size() == 0) se.push(s[i]); else { if ( se.top() == '[' && s[i] == ']') se.pop(); else if ( se.top() == '(' && s[i] == ')') se.pop(); else if ( se.top() == '{' && s[i] == '}') se.pop(); else se.push(s[i]); } } if ( se.size() == 0 ) return true; return false; } };