10 数的高度 节点数 叶子节点数 度为2的节点数

  1. @Override  
  2.     public int TreeDeep(TreeNode treeNode) {  
  3.           if (treeNode == null) {  
  4.             return 0;  
  5.           }  
  6.           int ld = TreeDeep(treeNode.leftchild);  
  7.         int rd = TreeDeep(treeNode.rightchild);  
  8.         return 1 + (ld > rd ? ld : rd);  
  9.     }  
  10.     
  11.     @Override  
  12.     public int TreeNodeNum(TreeNode treeNode) {  
  13.         if (treeNode == null) {  
  14.             return 0;  
  15.           }  
  16.           int ld = TreeNodeNum(treeNode.leftchild);  
  17.         int rd = TreeNodeNum(treeNode.rightchild);  
  18.         return 1 + ld + rd;  
  19.     }  
  20.     
  21.     @Override  
  22.     public int TreeLeafNum(TreeNode treeNode) {  
  23.         if (treeNode == null) {  
  24.             return 0;  
  25.         } else if (treeNode.leftchild == null && treeNode.rightchild == null) {  
  26.             return 1;  
  27.         } else {  
  28.             return TreeLeafNum(treeNode.leftchild) + TreeLeafNum(treeNode.rightchild);  
  29.         }  
  30.       }  
  31.     
  32.     @Override  
  33.     public int TreeDoublenum(TreeNode treeNode) {  
  34.         if (treeNode == null) {  
  35.             return 0;  
  36.         } else if (treeNode.leftchild != null && treeNode.rightchild != null) {  
  37.             return 1 + TreeDoublenum(treeNode.leftchild) + TreeDoublenum(treeNode.rightchild);  
  38.         } else {  
  39.             return TreeDoublenum(treeNode.leftchild) + TreeDoublenum(treeNode.rightchild);  
  40.         }  
  41.     }  
原文地址:https://www.cnblogs.com/wwjldm/p/6919129.html