题解 | #有效括号序列#
有效括号序列
https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2
class Solution {
public:
/**
*
* @param s string字符串
* @return bool布尔型
*/
bool isValid(string s) {
// write code here
// 使用栈 在笔试时遇到过此题的拓展, 括号消除
int n = s.size();
if(n<=1)
return false;
stack<char> stk;
bool ans = false;
for(char c:s)
{
if(c=='(' || c=='{' || c=='[')
{
stk.push(c);
}
else
{
if(!stk.empty())
{
char a = stk.top();
if((a=='(' && c==')') || (a=='{' && c=='}') || (a=='[' && c==']'))
{
stk.pop();
// ans = true;
}
else
{
return false;
}
}
else
{
return false;
}
}
}
ans = stk.empty();
return ans;
}
};
其实就是括号消除 只是 多了多类括号
查看18道真题和解析