题目:20. 有效的括号
解答:
class Solution {
public:
bool isValid(string s) {
stack <char> st;
for(int i=0;i<s.size();i++){
if(st.empty()==true)
st.push(s[i]);
else if(st.top()=='('&&s[i]==')'||st.top()=='['&&s[i]==']'||st.top()=='{'&&s[i]=='}')
st.pop();
else st.push(s[i]);
}
if(st.empty()==true)
return true;
else return false;
}
};
最开始以为“( { )} ”也是true,后来发现配对的括号必须挨在一起,问题就会变的简单一些。