有效的括号
有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:
-
左括号必须用相同类型的右括号闭合
-
左括号必须以正确的顺序闭合
-
注意空字符串可被认为是有效字符串
package leetcode; import java.util.Stack; /*** * [20] 有效的括号 */ public class ValidSolution { public boolean isValid(String s){ if(s == null || s.length() == 0){ return true; } if(s.length() % 2 == 1){ return false; } Stack<Character> t = new Stack<Character>(); for(int i= 0 ; i <s.length() ; i++){ char c= s.charAt(i); if (c == '(' || c == '[' || c =='{') { t.push(c); }else if(c == ')'){ if(t.empty() || t.peek() != '('){ return false; } t.pop(); }else if(c == ']'){ if(t.empty() || t.peek() != '['){ return false; } t.pop(); }else if(c == '}'){ if(t.empty() || t.peek() != '{'){ return false; } t.pop(); }else{ return false; } } return t.empty(); } public static void main(String[] args){ ValidSolution vs = new ValidSolution(); boolean a = vs.isValid("([{)}]"); boolean b= vs.isValid("([{}])"); System.out.println(a); System.out.println(b); } }