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

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

相关推荐

程序员牛肉:你这其实一点都没包装,标准的流水线产品。 实习现在不一定能解决你的问题,你太浮躁了。你看了多少源码?看了多少技术博客?真的没必要这么浮躁的着急找实习,沉下心来学习
投递实习岗位前的准备
点赞 评论 收藏
分享
激昂墓志铭_终章:亚新经典实习3300,转正7k外包。去那干啥,还要加班
投递亚信科技(中国)有限公司等公司6个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务