有效的括号
class Solution {
public:
bool isValid(string s) {
stack<char> sta;
for(int i = 0; i < s.length(); i++)
{
if(s[i] == '(' || s[i] == '[' || s[i] == '{')
sta.push(s[i]);
else if(sta.empty()) return false;
else
{
if((sta.top() == '(' && s[i]==')') || (sta.top() == '{' && s[i]=='}') || (sta.top() == '[' && s[i]==']'))
sta.pop();
else return false;
}
}
if(sta.size()==0)
return true;
else
return false;
}
};
这个题目搞得我有点头疼。
思路: 遍历串 S,遇见左括号进栈。遇见右括号就检查是否是栈顶元素的右括号。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。注意点:样例有多余的右括号的时候,例如“{ ] }”,“ ] ”。
更多精彩

