题解 | #有效括号序列#
有效括号序列
https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2
#include <stack> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return bool布尔型 */ bool isValid(string strInput) { //string strInput = "([])"; //cin >> strInput; stack<char> stackCharVal; bool bFlag = true; if (strInput.size() != 0) { for (size_t i = 0; i < strInput.size(); i++) { if (strInput[i] == '('|| strInput[i] == '['|| strInput[i] == '{') { stackCharVal.push(strInput[i]); //break; } else { if (strInput[i] == ')') { if (stackCharVal.empty() || stackCharVal.top() != '(') { return false; } else { stackCharVal.pop(); } } else if (strInput[i] == ']') { if (stackCharVal.empty() || stackCharVal.top() != '[') { return false; } else { stackCharVal.pop(); } } else if (strInput[i] == '}') { if (stackCharVal.empty() || stackCharVal.top() != '{') { return false; } else { stackCharVal.pop(); } } } } } return stackCharVal.empty() ? true : false; } };