class Solution {
public:
/**
*
* @param s string字符串
* @return bool布尔型
*/
bool isValid(string s) {
// write code here
stack<char>k;
// if(s[0]==']'||s[0]=='}'||s[0]==')')
// {
// return false;
// }
for (auto c : s)
{
if (c == '[') //第一个if,最后一个else,其他都是 else if
{
k.push(']');
}
else if (c == '(')
{
k.push(')');
}
else if (c == '{')
{
k.push('}');
}
else if (c != k.top()) //栈顶不匹配一定错
{
return false;
}
else if (k.empty()) //因为最后一个else是出栈,所以此时栈空为错
{
return false;
}
else {
k.pop();
}
}
return (k.empty()) ? true : false;
}
};
括号匹配 stack
最新推荐文章于 2024-03-07 21:01:12 发布