时间空间都不咋样的一个解法
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