c++ 求一棵二叉树的每个节点所在的层次?
答案:1 悬赏:60 手机版
解决时间 2021-04-03 04:23
- 提问者网友:蓝莓格格巫
- 2021-04-02 15:09
c++ 求一棵二叉树的每个节点所在的层次?
最佳答案
- 五星知识达人网友:雪起风沙痕
- 2021-04-02 15:52
//输入根节点root和子节点node
//返回node所在的层数,不存在返回0
unsigned int node_depth(Tree* root, Tree* node){
int d;
if(root==NULL)
return 0;
if(root==node) //在根节点处,即第1层
return 1;
d = node_depth(root->left_child, node);//找左节点
if(d>0)
return d+1; //返回当前层数+1
d = node_depth(root->right_child, node); //找右节点
if(d>0)
return d+1; //返回当前层数+1
return 0;
}
//返回node所在的层数,不存在返回0
unsigned int node_depth(Tree* root, Tree* node){
int d;
if(root==NULL)
return 0;
if(root==node) //在根节点处,即第1层
return 1;
d = node_depth(root->left_child, node);//找左节点
if(d>0)
return d+1; //返回当前层数+1
d = node_depth(root->right_child, node); //找右节点
if(d>0)
return d+1; //返回当前层数+1
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯