二叉树(二)

求树的高度:
1 public static <T> int height(TNode<T> t){ 2 int heightLeft, heightRight, heightval; 3 4 if(t == null) 5 heightval = -1; 6 else 7 { 8 heightLeft = height(t.left); 9 heightRight = height(t.right); 10 11 heightval = 1 + ( heightLeft > heightRight ? heightLeft:heightRight ); 12 } 13 return heightval; 14 } 15 //复制树: 16 public static <T> TNode<T> copyTree(TNode<T> t) 17 { 18 TNode<T> newLeft, newRight, newNode; 19 20 if(t == null) 21 return null; 22 newLeft = copyTree(t.left); 23 newRight = copyTree(t.right); 24 25 newNode = new TNode<T> (t.nodeValue, newLeft, newRight); 26 27 return newNode; 28 } 29 //清除树: 30 public static <T> void clearTree(TNode<T> t) 31 { 32 If(t != null) 33 { 34 clearTree(t.left); 35 clearTree(t.right); 36 t = null; 37 } 38 }
 
                    
                
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号