C語言實現計算二叉樹中第K層節點個數

#include<stdio.h>

typedef struct TreeNode
{
	int data;
	struct TreeNode * lchild;
	struct TreeNode * rchild;
}TreeNode;

int numNodeKLevel(TreeNode * root, int k)
{
	if (root == NULL || k < 1)
	{
		return 0;
	}

	int leftNum = 0;
	int rightNum = 0;
	int kThNum = 0;

	if (k == 1)
	{
		return 1;
	}

	leftNum = numNodeKLevel(root->lchild, k - 1);
	rightNum = numNodeKLevel(root->rchild, k - 1);
	kThNum = leftNum + rightNum;

	return kThNum;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章