//遍歷求數的葉子結點
public static int leafcount=0;
public static int calcleafcount1(node root)
//先去看他的左子樹的葉子結點,如果裡面左右子樹都為空,則++
calcleafcount1(root.left);
if(root.left==null&&root.right==null)
//注意:如果該點是葉子結點,在上一步if就已經把左右都判斷了,下面呼叫肯定是返回
//0的,可是要寫下面呼叫的原因是主要判斷回溯到上乙個結點時的右子樹,並不是來
//判斷該點的右子樹,該點的上一步已經判斷過了,
calcleafcount1(root.right);
return leafcount;
}//彙總求葉子結點
public static int calcleafcount2(node root)
//代表只有乙個結點的數
if(root.left==null&&root.right==null)
int left=calcleafcount2(root.left);
int right=calcleafcount2(root.right);
return left+right;
}//求數的高度
public static int calcheight(node root)
int left=calcheight(root.left);
int right=calcheight(root.right);
int height=math.max(left,right)+1;
return height;
}//求第k層的總結點數
public static int calcklevel(node root,int k)
if(k==1)
int left=calcklevel(root.left,k-1);
int right=calcklevel(root.right,k-1);
int count=left+right;
return count;
}
求二叉樹葉子結點個數
樹的定義 由乙個或多個 n 0 結點組成的有限集合t,有且僅有乙個結點稱為根 root 當 n 1時,其餘的結點分為m m 0 個相互不相交的有限集合t1,t2,tm。每個集合本身又是棵樹,被稱作這個根的子樹。樹的結構特點 1.非線性結構,有乙個直接前驅,但可能有多個直接後繼 1 n 2.樹的定義具...
求二叉樹葉子節點的個數 求二叉樹第k層的節點個數。
include using namespace std template struct binarytreenode t data binarytreenode left binarytreenode right template class binarytree 建構函式 binarytree c...
求二叉樹高度
函式介面定義 int getheight bintree bt 其中bintree結構定義如下 typedef struct tnode position typedef position bintree struct tnode 要求函式返回給定二叉樹bt的高度值。裁判測試程式樣例 include...