首页 > 代码库 > Leetcode-Valid Parentheses

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.

Solution:

 1 public class Solution { 2     public boolean isValid(String s) { 3         Stack<Character> stack = new Stack<Character>(); 4  5         for (int i=0;i<s.length();i++){ 6             char cur = s.charAt(i); 7             if (cur==‘(‘ || cur==‘[‘ || cur==‘{‘) 8                 stack.push(cur); 9             else {10                 if (stack.isEmpty()) return false;11                 char pre = stack.pop();12                 if (!isMatch(pre,cur)) return false;13             }14         }15 16         if (!stack.isEmpty()) return false;17         else return true;18         19     }20 21     public boolean isMatch(char a, char b){22         if ((a==‘(‘ && b==‘)‘) || (a==‘[‘ && b==‘]‘) || (a==‘{‘&&b==‘}‘)) 23             return true;24         else return false;25     }26 }

 

Leetcode-Valid Parentheses