LeetCode Valid Parentheses
Given a string containing just the characters '('
, ')'
, '{'
, '}'
, '['
and ']'
, determine if the input string is valid.
The brackets must close in the correct order, "()"
and "()[]{}"
are all valid but "(]"
and "([)]"
are not.
1 public class Solution { 2 public boolean isValid(String s) { 3 if (s.equals("")) { 4 return true; 5 } 6 7 Stack<Character> stack=new Stack<>(); 8 stack.push('s'); 9 for (char c : s.toCharArray()) { 10 if (c=='(' || c=='[' || c=='{') { 11 stack.push(c); 12 }else { 13 if (c==')' && stack.pop()!='(') { 14 return false; 15 } 16 if (c==']' && stack.pop()!='[') { 17 return false; 18 } 19 if (c=='}' && stack.pop()!='{') { 20 return false; 21 } 22 } 23 } 24 if (stack.pop()!='s') { 25 return false; 26 } 27 return true; 28 } 29 }