20. 有效的括号

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

有效字符串需满足:

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-parentheses

 1 package stack_queue;
 2 
 3 import java.util.Stack;
 4 
 5 public class ValidParentheses {
 6     public boolean isValid(String s) {
 7         Stack<Character> left = new Stack<>();
 8         char[] arrchar = s.toCharArray();
 9         for(char c : arrchar) {
10             if(c == '(' || c == '[' || c == '{') {
11                 left.push(c); 
12             } else {
13                 if(left.isEmpty()) {
14                     return false; 
15                 }
16                 char l = left.pop();
17                 boolean res1 = (l == '(') && (c == ')');
18                 boolean res2 = (l == '[') && (c == ']');
19                 boolean res3 = (l == '{') && (c == '}');
20                 if(res1 || res2 || res3) {
21                     continue; 
22                 }else {
23                     return false;
24                 }
25             }
26         }
27         return left.isEmpty();
28     }
29 }

 

posted @ 2019-07-16 01:20  往南的小燕子  阅读(173)  评论(0编辑  收藏  举报