计算二叉树第K层的结点个数(K >= 1)

可以使用分治思想:如果是空树,就直接返回0;如果二叉树不为空,K == 1时,第一层就是根结点直接返回1;如果K大于1,返回相对于其左子树和右子树的第K-1层的结点个数。

image-20230712104044676

//计算第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);
}