C二叉树求节点个数和叶子节点个数(递归形式)

 1 struct BiTree
 2 {
 3     struct BiTree *lchild;
 4     struct BiTree *rchild;
 5 };
 6 
 7 int Node(struct BiTree *T)
 8 {
 9     if(T == NULL)
10         return 0;
11     return 1+Node(T->lchild)+Node(T->rchild);
12 }
13 
14 int Leaf(struct BiTree *T)
15 {
16     if(T==NULL)
17         return 0;
18     if(T->lchild == NULL && T->rchild == NULL)
19         return 1;
20     return Leaf(T->lchild)+Leaf(T->rchild);
21 }

 

posted @ 2015-03-02 18:39  永久指针  阅读(3926)  评论(0编辑  收藏  举报