20. 有效的括号
思路:栈
1.建立stack
2.遍历字符串s
3.按类型入栈,若有匹配的则出栈,若出现逆序括号直接无效
4.最后栈为空即为有效字符串,否则无效
bool isValid(string s) {
stack<char> stack;
for (int i = 0; i <s.size() ; i++) {
if(s[i]=='('||s[i]=='{'||s[i]=='[')
stack.push(s[i]);
else{
if(stack.empty())
return false;
char top=stack.top();
stack.pop();
if(s[i]==')'&&top!='(')
return false;
if(s[i]=='}'&&top!='{')
return false;
if(s[i]==']'&&top!='[')
return false;
}
}
if(!stack.empty())
return false;
return true;
}