[leetcode]20. Valid Parentheses

来源:互联网 发布:会声会影软件百度云 编辑:程序博客网 时间:2024/06/16 18:19

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.

Subscribe to see which companies asked this question

主要就是对栈的理解。java有原生的栈的支持,golang没有,这里就不写go的版本了。

public class Solution {    public boolean isValid(String s) {        if(s==null||"".equals(s)||s.length()==1){            return false;        }        Stack<Character> stack = new Stack<Character>();        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)=='}'){                if(!stack.empty()&&stack.peek()=='{'){                    stack.pop();                }else{                    return false;                }            }else if(s.charAt(i)==']'){                if(!stack.empty()&&stack.peek()=='['){                    stack.pop();                }else{                    return false;                }            }else if(s.charAt(i)==')'){                if(!stack.empty()&&stack.peek()=='('){                    stack.pop();                }else{                    return false;                }            }        }        if(!stack.empty()){            return false;        }else{            return true;        }    }}



0 0
原创粉丝点击