首页 > 代码库 > Valid Parentheses

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.

public class Solution {
    public boolean isValid(String s) {
        LinkedList<Character> left=new LinkedList<Character>();
        for(int i=0;i<s.length();i++){
            if(s.charAt(i)=='(' || s.charAt(i)=='{' || s.charAt(i)=='['){
                left.add(s.charAt(i));
            }
            else{
            	if(!left.isEmpty()){
            		char c=left.peekLast();
            		if(	(c=='(' && s.charAt(i)==')')  || (c=='{' && s.charAt(i)=='}') || (c=='[' && s.charAt(i)==']')) left.pollLast();
            		else  left.add(s.charAt(i));
            	}
            	else  left.add(s.charAt(i));
            }
        }
        if(left.isEmpty()) return true;
        else return false;
    }
}