20. 有效的括号

学习了C++ stack的使用
class Solution {
public:
#include<stack>
bool isValid(string s) {
stack<char> stk;
for(int i = 0; i < s.size(); ++i){
if(s[i] == '(' || s[i] == '[' || s[i] == '{'){
stk.push(s[i]);
}else{
if(!stk.empty()){
char ch = stk.top();
if(ch == '(' && s[i] == ')'){
stk.pop();
}else if(ch == '[' && s[i] == ']') {
stk.pop();
}else if(ch == '{' && s[i] == '}') {
stk.pop();
}else {
return false;
}
}else{
return false;
}
}
}
return stk.empty();
}
};

浙公网安备 33010602011771号