1 static int wing=[]() 2 { 3 std::ios::sync_with_stdio(false); 4 cin.tie(NULL); 5 return 0; 6 }(); 7 8 class Solution 9 { 10 public: 11 bool isValid(string s) 12 { 13 vector<char> stack; 14 if(s.length()==0) 15 return true; 16 if(s[0]==')'||s[0]==']'||s[0]=='}') 17 return false; 18 for(char c:s) 19 { 20 switch(c) 21 { 22 case'(': stack.push_back(c);break; 23 case'[': stack.push_back(c);break; 24 case'{': stack.push_back(c);break; 25 case')': 26 if(stack.back()!='(') 27 return false; 28 else 29 stack.pop_back(); 30 break; 31 case']': 32 if(stack.back()!='[') 33 return false; 34 else 35 stack.pop_back(); 36 break; 37 case'}': 38 if(stack.back()!='{') 39 return false; 40 else 41 stack.pop_back(); 42 break; 43 } 44 } 45 return stack.empty(); 46 } 47 };
借助一个栈来判断,基础题,无压力。
浙公网安备 33010602011771号