给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表)。返回一个包含所有深度的链表的数组。示例:输入:[1,2,3,4,5,null,7,8]1/  \ 2    3/ \    \ 4   5    7/8输出:[[1],[2,3],[4,5,7],[8]]

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) { val = x; }* }*/
class Solution {public ListNode[] listOfDepth(TreeNode tree) {Queue<TreeNode> queue=new LinkedList<>();ArrayList<ListNode> arrayList=new ArrayList<>();queue.add(tree);while (!queue.isEmpty()){int size=queue.size();ListNode head=new ListNode(0);//建立一个辅助的头节点ListNode helper=head;for(int i=0;i<size;i++){TreeNode temp=queue.poll();ListNode temp2=new ListNode(temp.val);helper.next=temp2;helper=temp2;if(temp.left!=null) queue.offer(temp.left);if(temp.right!=null) queue.offer(temp.right);}arrayList.add(head.next);}ListNode[] listNodes=new ListNode[arrayList.size()];for(int i=0;i<arrayList.size();i++) listNodes[i]=arrayList.get(i);return  listNodes;}
}

leetcode面试题 04.03. 特定深度节点链表(bfs)相关推荐

  1. leetcode —— 面试题 04.03. 特定深度节点链表

    给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表).返回一个包含所有深度的链表的数组. 示例: 解题思路:使用常规的广度优先遍历就可以 ...

  2. 面试题 04.03. 特定深度节点链表

    面试题 04.03. 特定深度节点链表 思路:层次遍历 /*** Definition for a binary tree node.* struct TreeNode {* int val;* Tr ...

  3. 程序员面试金典 - 面试题 04.03. 特定深度节点链表(BFS)

    1. 题目 给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表).返回一个包含所有深度的链表的数组. 例: 输入:[1,2,3,4,5, ...

  4. 程序员面试金典:面试题 02.03. 删除中间节点

    1. 题目 面试题 02.03. 删除中间节点 2. 描述 实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点. 示例: 输入: 单向链表 a->b-& ...

  5. 程序员面试金典 - 面试题 02.03. 删除中间节点

    1. 题目 实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点. 示例: 输入:单向链表a->b->c->d->e-& ...

  6. leetcode面试题 04.12. 求和路径(dfs)

    给定一棵二叉树,其中每个节点都含有一个整数数值(该值或正或负).设计一个算法,打印节点数值总和等于某个给定值的所有路径的数量.注意,路径不一定非得从二叉树的根节点或叶节点开始或结束,但是其方向必须向下 ...

  7. 面试题 02.03. 删除中间节点

    2020-03-22 1.题目描述 删除中间节点 2.题解 之前好像做过这道题,直接将后一个节点的数据域赋值过来再删除后一个节点即可. 3.代码 class Solution { public:voi ...

  8. Leetcode —— 面试题 04.02. 最小高度树(Python)

    给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树. 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null ...

  9. 60. Leetcode 面试题 10.03. 搜索旋转数组 (二分查找-局部有序)

    搜索旋转数组.给定一个排序后的数组,包含n个整数,但这个数组已被旋转过很多次了,次数不详.请编写代码找出数组中的某个元素,假设数组元素原先是按升序排列的.若有多个相同元素,返回索引值最小的一个.示例1 ...

最新文章

  1. Atitit.导出excel报表的设计与实现java .net php 总
  2. LSQL Developer连接Oracle11g 64位数据库配置详解
  3. Stomp-Spring服务器端的Web套接字Java客户端
  4. 马斯克如何通过生小孩统治世界?
  5. 虚拟机开机时出现Press ESC in 5 seconds to skip startup.nsh, any other key to continue问题的解决办法
  6. datatable的查询介绍
  7. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛.J强迫症的序列
  8. android游戏和ios游戏哪个多,从2019年3月开始的5款最佳Android和iOS游戏
  9. QFD修改工作流并重新发布中的问题
  10. Codeforces Round #460 (Div. 2) C Seat Arrangements
  11. A Deep Journey into Super-resolution: A Survey阅读
  12. 如何自动注册推特推广号,推特注册的具体步骤
  13. Java反编译器JD
  14. 在贷款行业中,运营商大数据精准获客,是否真实有效呢
  15. linux 操作系统root账号被锁定的两种解决方法
  16. 用JS控制flvplayer.swf播放视频
  17. K210 Mx-yolov3模型训练和物体识别
  18. feign的性能优化、Feign的使用-最佳优化两种方案
  19. matlab保存和载入数据,matlab数据的导入导出-总结篇
  20. 谈论 ModSecurity 和新的 Coraza WAF

热门文章

  1. android页面设置背景图片大小,android页面设置background为图片后,页面滑动掉帧问题...
  2. HotSpot 虚拟机垃圾回收算法实现
  3. 一个项目的整个测试流程
  4. npm link run npm script
  5. SVN中Revert changes from this revision 跟Revert to this revision
  6. 如何查看linux中文件打开情况
  7. python画激活函数图像
  8. 关于之前的函数式编程
  9. python Tags 母板 组件 静态文件相关 自定义simpletag inclusion_tag
  10. 入库成本与目标成本对比报表中我学到的东西