Loading

LeetCode 20. 有效的括号( 括号配对 )

给定一个只包括 '('')''{''}''['']' 的字符串,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。

注意空字符串可被认为是有效字符串。

示例 1:

输入: "()"
输出: true

示例 2:

输入: "()[]{}"
输出: true

示例 3:

输入: "(]"
输出: false

示例 4:

输入: "([)]"
输出: false

示例 5:

输入: "{[]}"
输出: true


 1 bool isValid(string s)
 2 {
 3     stack<char> Stack;
 4     for(auto &c:s)
 5     {
 6         switch(c)
 7         {
 8         case '(':
 9         case '[':
10         case '{':
11             Stack.push(c);
12             break;
13         case ')':
14             if(Stack.empty()||Stack.top()!='(')
15                 return false;
16             else
17                 Stack.pop();
18             break;
19         case ']':
20             if(Stack.empty()||Stack.top()!='[')
21                 return false;
22             else
23                 Stack.pop();
24             break;
25         case '}':
26             if(Stack.empty()||Stack.top()!='{')
27                 return false;
28             else
29                 Stack.pop();
30             break;
31         }
32     }
33     if(!Stack.empty())
34         return false;
35     else
36         return true;
37 }

 

posted @ 2018-10-20 09:16  拾月凄辰  阅读(161)  评论(0编辑  收藏  举报