二叉树怎么打印每层的第一个节点

谢谢#笔试题目#
全部评论
按层遍历的时候,每个节点加一个树的深度值,用一个变量记录当前打印的深度,如果打印过了就不打印节点。
2 回复 分享
发布于 2019-07-13 23:51
这个还挺容易理解的
2 回复 分享
发布于 2019-07-14 09:32
两个队列存节点就行了。
点赞 回复 分享
发布于 2019-07-13 21:59
层遍历,每一层记录下一层的节点个数,实现层数切换,就可以判断每一层的第一个元素了。这个和之子型(蛇形)打印二叉树一个原理。
点赞 回复 分享
发布于 2019-07-13 23:59
https://www.cnblogs.com/anzhengyu/p/11083568.html      层次遍历python3
点赞 回复 分享
发布于 2019-07-14 09:51
层次遍历,将每层节点放在一个list中,输出第一个就ok
点赞 回复 分享
发布于 2019-07-13 21:56
leetcode的二叉树的右视图(好像是这个题目),我写就深搜一把梭
点赞 回复 分享
发布于 2019-07-13 22:01
蹲一个答案
点赞 回复 分享
发布于 2019-07-13 22:06
用队列实现,先进先出,二叉树的层次遍历是常考题型
点赞 回复 分享
发布于 2019-07-13 22:07
层序遍历取第一个
点赞 回复 分享
发布于 2019-07-13 22:34
用个队列层次遍历就行
点赞 回复 分享
发布于 2019-07-13 22:54
private void printFirstSequence(TreeNode root){         LinkedList<TreeNode> queue = new LinkedList<>();         queue.add(root);         while (!queue.isEmpty()){             TreeNode node = queue.poll();             System.out.println(node.val);             if (node.left!=null){                 queue.add(node.left);                 continue;             }             if (node.right!=null){                 queue.add(node.right);             }         }     }
点赞 回复 分享
发布于 2019-07-13 23:04
层次遍历
点赞 回复 分享
发布于 2019-07-13 23:30
用递归
点赞 回复 分享
发布于 2019-07-13 23:48
两个队列滚动一下
点赞 回复 分享
发布于 2019-07-14 01:52
明天给你上代码,关电脑了
点赞 回复 分享
发布于 2019-07-14 02:08
树bfs应该知道吧,每层最后一个节点出队后插入的是最后的子节点,这个时候插入一个哨兵节点就行了
点赞 回复 分享
发布于 2019-07-14 09:28
什么叫打印每层第一个节点啊?前序遍历不就是先遍历的每层第一个么?
点赞 回复 分享
发布于 2019-07-14 09:31
记录层数,先序遍历,第一次到这个层数就输出第一个节点
点赞 回复 分享
发布于 2019-07-14 22:15
感觉先序遍历调一下条件就可以了。。
点赞 回复 分享
发布于 2019-07-14 22:28

相关推荐

一颗宏心:华为HR晚上过了十二点后还给我法消息。
点赞 评论 收藏
分享
沉淀一会:**圣经 1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务