给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
1左括号必须用相同类型的右括号闭合。
2左括号必须以正确的顺序闭合。
方法一:用栈记录
class Solution {
public:
bool isValid(string s) {
stack<char> stack1;
int n = s.length();
for(int i = 0;i<n;i++){
if(!stack1.empty() && s[i] == ')' && stack1.top() == '('){
stack1.pop();
}else if(!stack1.empty() && s[i] == ']' && stack1.top() == '['){
stack1.pop();
}else if(!stack1.empty() && s[i] == '}' && stack1.top() == '{'){
stack1.pop();
}else{
stack1.push(s[i]);}
}
if(stack1.empty()){
return true;
}else{
return false;
}
}
};