20. Valid Parentheses

来源:互联网 发布:同声传译软件 知乎 编辑:程序博客网 时间:2024/05/23 15:35

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.


思路:使用栈结构,后进先出;

时间复杂度:O(N)

空间复杂度:O(N)

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


0 0
原创粉丝点击