static int w =0; //統計每層節點個數,從而找出最大層數 static int Wid[10]={0}; void Width(BiTree T){ if(T == NULL) return; else { w++; Wid[w]++; Width(T->lchild); if(T->lchild) w--; //如果子節點為空的話,不會跳到下一層,w就不會+1,所以從空節點返回不用-1 Width(T->rchild); //也可以在為空時w++再返回,這樣的話就不論子節點是否為空,都要w-- if(T->rchild) w--; } }