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 };

借助一个栈来判断,基础题,无压力。

posted on 2018-04-16 09:39  高数考了59  阅读(124)  评论(0)    收藏  举报