Skip to content

Latest commit

 

History

History
37 lines (32 loc) · 945 Bytes

20. Valid Parentheses.MD

File metadata and controls

37 lines (32 loc) · 945 Bytes

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 boolean isValid(String s) {
    	Stack<Character> stack = new Stack<Character>();
    	for(int i = 0 ; i < s.length();i ++){
    		if(s.charAt(i) == ')' ){
    			if(stack.isEmpty() || stack.pop() != '('){
    				return false;
    			}
    		}
    		else if(s.charAt(i) == ']' ){
    			if(stack.isEmpty() || stack.pop() != '['){
    				return false;
    			}
    		}
    		else if(s.charAt(i) == '}' ){
    			if(stack.isEmpty() || stack.pop() != '{'){
    				return false;
    			}
    		}    		
    		else{
    			stack.push(s.charAt(i));
    		}
    	}
    	
    	if(stack.isEmpty()){
    		return true;
    	}
    	return false;
    }

**思路:**使用stack很容易解决问题。