20. Valid Parentheses

    /*
     * 20. Valid Parentheses 
     * 2016-4-16 by Mingyang
     * 这里有几点注意一下,stack!=null没有任何意义,必须用stack.isEmpty
     * 检查字符是用==,检查String是用.isEqual(),因为String是引用类型,值相等但是地址可能不等。
     * 这道题目不用Hashmap也是一样的做
     */
    public boolean isValid(String s) {
        int len=s.length();
        if(len==0||s==null)
          return true;
          Stack<Character> stack=new Stack<Character>();
          for(int i=0;i<len;i++){
              char temp=s.charAt(i);
              if(temp=='('||temp=='['||temp=='{'){
                  stack.push(temp);
              }else{
                  if(stack.isEmpty()){
                      return false;
                  }
                  char nuu=stack.peek();
                  if((temp==')'&&nuu=='(')||(temp=='}'&&nuu=='{')||(temp==']'&&nuu=='[')){
                      stack.pop();
                      continue;
                  }else{
                      return false;
                  }
              }
          }
          return stack.isEmpty();  
    }    
原文地址:https://www.cnblogs.com/zmyvszk/p/5399916.html