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

有效字符串需满足:

  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 }

 

相关文章:

  • 2022-01-06
  • 2022-12-23
  • 2022-12-23
  • 2021-09-08
  • 2022-12-23
  • 2022-12-23
  • 2021-05-29
猜你喜欢
  • 2021-05-29
  • 2021-09-25
  • 2021-11-22
  • 2021-07-03
  • 2021-06-24
  • 2021-07-07
  • 2021-07-03
相关资源
相似解决方案