public void Postorder_(BinTreeNode t) {    
     Stack<BinTreeNode> stack = new Stack<BinTreeNode>();    
     BinTreeNode pre = t;    
     if (t != null) {    
         while (true) {    
             if (t.right != pre && t.left != pre && t.left != null) {    
                 stack.push(t);    
                 pre = t;    
                 t = t.left;    
             } else if (t.right != pre && t.right != null) {    
                 stack.push(t);    
                 pre = t;    
                 t = t.right;    
             } else {    
                 System.out.println(t.data);    
                 pre = t;    
                 if (!stack.isEmpty()) {    
                     t = stack.pop();    
                 } else {    
                     break;    
                 }    
             }    
         }    
     }