有效括号序列_牛客题霸_牛客网 (nowcoder.com)
利用栈,遇到 ‘( [ { ’压入栈,
遇到 ‘)] } ’弹出
结束后 判断是否为空如果比配正确 返回true;
class Solution {
public:
/**
*
* @param s string字符串
* @return bool布尔型
*/
bool isValid(string s) {
// write code here
stack<char> stk;
for (int i = 0; i < s.size(); i++) {
switch (s[i]) {
case '(':
case '[':
case '{':
stk.push(s[i]);
break;
case ')':
if (stk.empty() || stk.top() != '(')
return false;
stk.pop();
break;
case ']':
if (stk.empty() || stk.top() != '[')
return false;
stk.pop();
break;
case '}':
if (stk.empty() || stk.top() != '{')
return false;
stk.pop();
break;
}
}
return stk.empty() ? true : false;
}
};