leetcode20

时间空间都不咋样的一个解法

class Solution {
    public boolean isValid(String s) {
        if(s==null||s.length()%2==1) return false;
        Stack<String> stack = new Stack<>();
        for(int i = 0;i<s.length();i++){
            String sub = s.substring(i,i+1);
            if(sub.equals(")")){
                if(!stack.isEmpty()&&stack.peek().equals("(")) stack.pop();
                else return false;
            }
            else if(sub.equals("]")){
                if(!stack.isEmpty()&&stack.peek().equals("[")) stack.pop();
                else return false;
            }
            else if(sub.equals("}")){
                if(!stack.isEmpty()&&stack.peek().equals("{")) stack.pop();
                else return false;
            }else{
                stack.push(sub);
            }
        }
        return stack.isEmpty();

    }
}
原文地址:https://www.cnblogs.com/ljf-0/p/14171982.html