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         Stack stack=new Stack();

 4         for(int i=0;i<s.length();i++)

 5         {

 6             char ch=s.charAt(i);

 7             if(ch=='('||ch=='['||ch=='{')

 8             {

 9                 stack.push(ch);

10             }

11             else

12             {

13                 if(!stack.isEmpty())

14                 {

15                     if(isEqual((char)stack.peek(),ch))

16                     {

17                         stack.pop();

18                     }

19                     else

20                         return false;

21                 }

22                 else

23                     return false;

24             }

25         }

26         return stack.isEmpty()?true:false;

27     }

28         public  boolean isEqual(char c1,char c2)

29     {

30         if(c1=='['&&c2==']')return true;

31         else if(c1=='('&&c2==')')return true;

32         else if(c1=='{'&&c2=='}')return true;

33         return false;

34     }

35 }

 

你可能感兴趣的:(val)