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

谢谢#笔试题目#
全部评论
按层遍历的时候,每个节点加一个树的深度值,用一个变量记录当前打印的深度,如果打印过了就不打印节点。
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

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务