int GetNodeNumKthLevel(BinaryTreeNode *pRoot,int k)
{
if(pRoot==NULL||k<1)
return 0;
if(k==1)
return 1;
int numleft=GetNodeNumKthLevel(pRoot->m_pLeft,k-1);
int numright=GetNodeNumKthLevel(pRoot->m_pRight,k-1);
return (numright+numleft);
}
int GetLeafNodeNum(BinaryTreeNode *pRoot)
{
if(pRoot==NULL)
return 0;
if(pRoot->m_pLeft==NULL&&pRoot->m_pRight==NULL)
return 1;
int numleft=GetLeafNodeNum(pRoot->m_pLeft);
int numright=GetLeafNodeNum(pRoot->m_pRight);
return(numleft+numright);
}
{
if(pRoot==NULL||k<1)
return 0;
if(k==1)
return 1;
int numleft=GetNodeNumKthLevel(pRoot->m_pLeft,k-1);
int numright=GetNodeNumKthLevel(pRoot->m_pRight,k-1);
return (numright+numleft);
}
int GetLeafNodeNum(BinaryTreeNode *pRoot)
{
if(pRoot==NULL)
return 0;
if(pRoot->m_pLeft==NULL&&pRoot->m_pRight==NULL)
return 1;
int numleft=GetLeafNodeNum(pRoot->m_pLeft);
int numright=GetLeafNodeNum(pRoot->m_pRight);
return(numleft+numright);
}