计算二叉树第K层的结点个数(K >= 1)
可以使用分治思想:如果是空树,就直接返回0;如果二叉树不为空,K == 1时,第一层就是根结点直接返回1;如果K大于1,返回相对于其左子树和右子树的第K-1层的结点个数。
//计算第K层的结点个数
int LevelSize(BTNode* root,int k)
{
if (root == NULL)
{
return 0;
}
if (k == 1)
{
return 1;
}
return LevelSize(root->left, k - 1) + LevelSize(root->right, k - 1);
}