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

谢谢#笔试题目#
全部评论
这个还挺容易理解的
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

相关推荐

牛客92804383...:在他心里你已经是他的员工了
点赞 评论 收藏
分享
见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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