有效的括号

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

有效字符串需满足:

  左括号必须用相同类型的右括号闭合。
  左括号必须以正确的顺序闭合。
  注意空字符串可被认为是有效字符串。

示例 1:

输入: "()"
输出: true

示例 2:

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

示例 3:

输入: "(]"
输出: false

示例 4:

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

示例 5:

输入: "{[]}"
输出: true
 1 public boolean isValid(String s) { 
 2         if(s.isEmpty()){
 3             return true;
 4         }
 5         Stack<Character> stack = new Stack<Character>();
 6         for(char ch : s.toCharArray()){
 7             if(ch=='('){
 8                 stack.push(')');
 9             }else if(ch=='['){
10                 stack.push(']');
11             }else if(ch=='{'){
12                 stack.push('}');
13             }else if(stack.isEmpty() || stack.pop()!=ch){
14                 return false;
15             }
16         }
17             if(stack.isEmpty()){
18                 return true;
19             }
20             return false;
21         }

 

posted @ 2020-08-25 16:49  王余阳  阅读(135)  评论(0)    收藏  举报