首页 > 代码库 > leetcode_20 Valid Parentheses(String)

leetcode_20 Valid Parentheses(String)

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.

 

key:stack

peek():public E peek() 查看栈顶对象而不移除它。
public class Solution {
    public boolean isValid(String s) {
        Stack<Character> stack=new Stack<>();
        for(int i=0;i<s.length();i++){
            if(s.charAt(i)==‘(‘||s.charAt(i)==‘[‘||s.charAt(i)==‘{‘){
                stack.push(s.charAt(i));
            }
            else if(s.charAt(i)==‘)‘&&!stack.empty()&&stack.peek()==‘(‘){
                stack.pop();
            }
            else if(s.charAt(i)==‘]‘&&!stack.empty()&&stack.peek()==‘[‘){
                stack.pop();
            }
            else if(s.charAt(i)==‘}‘&&!stack.empty()&&stack.peek()==‘{‘){
                stack.pop();
            }
            else{
                return false;
            }
        }
        return stack.empty();
    }
}

 

leetcode_20 Valid Parentheses(String)