您的位置:首页 > 其它

20.Valid Parentheses (括号匹配)

2015-08-03 14:38 267 查看
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.

public class Solution {

    public boolean isValid(String s) {

        Stack<Character> charStack = new Stack<Character> ();

           char [] a = s.toCharArray();
       for(int i=0 ;i<s.length();i++){
       
char b = s.charAt(i);
       

       
if(a[i]=='('||a[i]=='['||a[i]=='{'){
       
charStack.push(a[i]);
       
}else{
       
if(charStack.isEmpty()) return false ;
       
if(b==')'&&charStack.peek()!='(') return false;
       
if(b==']'&&charStack.peek()!='[') return false;
       
if(b=='}'&&charStack.peek()!='{') return false;
       
charStack.pop();
       
}        

       }
       return charStack.isEmpty();

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: