#include<stdio.h>
#include<stdlib.h>
#include<vector>
using namespace std;
struct TreeNode{
int data;
TreeNode* left;
TreeNode* right;
};
//统计每层节点的个数
int res;
void countNumOfLevel(TreeNode* root,int depth){
if(root==NULL||depth<0)
return;
if(depth==0){
res++;
return;
}
countNumOfLevel(root->left,depth-1);
countNumOfLevel(root->right,depth-1);
}
int main(){
res=0;
TreeNode* t=new TreeNode;
t->data=1;
TreeNode* t1=new TreeNode; t1->data=2;
TreeNode* t2=new TreeNode; t2->data=3;
t->left=t1;t->right=t2;
TreeNode* t3=new TreeNode; t3->data=4;
TreeNode* t4=new TreeNode; t4->data=5;
t1->left=t3;t1->right=t4;
t2->left=NULL;t2->right=NULL;
countNumOfLevel(t,2);
printf("%d\n",res);
delete t;
delete t1;
delete t2;
delete t3;
delete t4;
system("pause");
return 0;
}
统计二叉树每层节点的个数
最新推荐文章于 2024-03-23 16:20:00 发布