一棵二叉树,求每个顶点到根结点的距离

hackeydmm 2018-11-30 04:40:12
求大佬,应该怎么写
...全文
491 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Conchpeng 2018-12-02
  • 打赏
  • 举报
回复
dfs深度遍历就好了。。
mirro 2018-12-01
  • 打赏
  • 举报
回复
广度搜索算法
hackeydmm 2018-11-30
  • 打赏
  • 举报
回复
一个给定的二叉树
silwoods 2018-11-30
  • 打赏
  • 举报
回复
变量名重复了,重贴一下

dist(Node node, int d) {
if (node == null) {
return;
}
cout<< node.dat << d;
dist(node.left, d+ 1);
dist(node.right, d+ 1);
}
silwoods 2018-11-30
  • 打赏
  • 举报
回复
大概这样吧:

dist(Node node, int dist) {
if (node == null) {
return;
}
cout<< node.dat << dist;
dist(node.left, dist + 1);
dist(node.right, dist + 1);
}


这样调用:
dist(rootNode, 0);
@风轻云淡_ 2018-11-30
  • 打赏
  • 举报
回复
遍历呗,如果你现在有一个现成的二叉树,那么从root节点出发,无左右孩子节点即为顶点,记录递归次数即为距离,如果你现在需要自己生成一棵二叉树,那你的问题就稍稍麻烦点了,建议如果不是急着交的作业之类的,自己动手丰衣足食。链表、队列、栈 搞明白对你的好处大大的,而如果是作业自己还不想做,你就等等看有没有大佬给你现成的吧。

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧