题目意思:判断一个字符串(){}[]是否符合
思路:用栈
ps:实习一个多月了,代码也刷不动了,状态真不是一般的差
class Solution { public: bool isValid(string s) { if(s==""||s.size()%2==1) return false; stack<char> mystack; for(int i=0;i<s.length();++i){ if(s[i]==‘[‘||s[i]==‘(‘||s[i]==‘{‘){ mystack.push(s[i]); continue; } else{ if(s[i]){ if(mystack.empty()) return false; } switch(s[i]){ case ‘]‘: if(mystack.top()!=‘[‘) return false; else mystack.pop(); break; case ‘)‘: if(mystack.top()!=‘(‘) return false; else mystack.pop(); break; case ‘}‘: if(mystack.top()!=‘{‘) return false; else mystack.pop(); break; } } } if(mystack.empty()) return true; return false; } };
时间: 2024-11-12 06:38:16