求二叉树第K层节点个数
递归解法:
(1)如果二叉树为空或者k<1返回0
(2)如果二叉树不为空并且k==1,返回1
(3)如果二叉树不为空且k>1,返回左子树中k-1层的节点个数与右子树k-1层节点个数之和
/*************求二叉树第k层的节点个数**************/
int GetNodeNumKthLevel(BiTreeNode* &T,int k)
{
if(k == 0 || T == NULL)return 0;
if(k == 1) return 1;
int numleft = GetNodeNumKthLevel(T->lchild,k-1);//左子树中K-1层的节点个数
int numright = GetNodeNumKthLevel(T->rchild,k-1);//左子树中K-1层的节点个数
return(numleft + numright);
}