leetcode面试题 04.03. 特定深度节点链表(bfs)
给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 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)相关推荐
- leetcode —— 面试题 04.03. 特定深度节点链表
给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表).返回一个包含所有深度的链表的数组. 示例: 解题思路:使用常规的广度优先遍历就可以 ...
- 面试题 04.03. 特定深度节点链表
面试题 04.03. 特定深度节点链表 思路:层次遍历 /*** Definition for a binary tree node.* struct TreeNode {* int val;* Tr ...
- 程序员面试金典 - 面试题 04.03. 特定深度节点链表(BFS)
1. 题目 给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表).返回一个包含所有深度的链表的数组. 例: 输入:[1,2,3,4,5, ...
- 程序员面试金典:面试题 02.03. 删除中间节点
1. 题目 面试题 02.03. 删除中间节点 2. 描述 实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点. 示例: 输入: 单向链表 a->b-& ...
- 程序员面试金典 - 面试题 02.03. 删除中间节点
1. 题目 实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点. 示例: 输入:单向链表a->b->c->d->e-& ...
- leetcode面试题 04.12. 求和路径(dfs)
给定一棵二叉树,其中每个节点都含有一个整数数值(该值或正或负).设计一个算法,打印节点数值总和等于某个给定值的所有路径的数量.注意,路径不一定非得从二叉树的根节点或叶节点开始或结束,但是其方向必须向下 ...
- 面试题 02.03. 删除中间节点
2020-03-22 1.题目描述 删除中间节点 2.题解 之前好像做过这道题,直接将后一个节点的数据域赋值过来再删除后一个节点即可. 3.代码 class Solution { public:voi ...
- Leetcode —— 面试题 04.02. 最小高度树(Python)
给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树. 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null ...
- 60. Leetcode 面试题 10.03. 搜索旋转数组 (二分查找-局部有序)
搜索旋转数组.给定一个排序后的数组,包含n个整数,但这个数组已被旋转过很多次了,次数不详.请编写代码找出数组中的某个元素,假设数组元素原先是按升序排列的.若有多个相同元素,返回索引值最小的一个.示例1 ...
最新文章
- Atitit.导出excel报表的设计与实现java .net php 总
- LSQL Developer连接Oracle11g 64位数据库配置详解
- Stomp-Spring服务器端的Web套接字Java客户端
- 马斯克如何通过生小孩统治世界?
- 虚拟机开机时出现Press ESC in 5 seconds to skip startup.nsh, any other key to continue问题的解决办法
- datatable的查询介绍
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛.J强迫症的序列
- android游戏和ios游戏哪个多,从2019年3月开始的5款最佳Android和iOS游戏
- QFD修改工作流并重新发布中的问题
- Codeforces Round #460 (Div. 2) C	 Seat Arrangements
- A Deep Journey into Super-resolution: A Survey阅读
- 如何自动注册推特推广号,推特注册的具体步骤
- Java反编译器JD
- 在贷款行业中,运营商大数据精准获客,是否真实有效呢
- linux 操作系统root账号被锁定的两种解决方法
- 用JS控制flvplayer.swf播放视频
- K210 Mx-yolov3模型训练和物体识别
- feign的性能优化、Feign的使用-最佳优化两种方案
- matlab保存和载入数据,matlab数据的导入导出-总结篇
- 谈论 ModSecurity 和新的 Coraza WAF
热门文章
- android页面设置背景图片大小,android页面设置background为图片后,页面滑动掉帧问题...
- HotSpot 虚拟机垃圾回收算法实现
- 一个项目的整个测试流程
- npm link run npm script
- SVN中Revert changes from this revision 跟Revert to this revision
- 如何查看linux中文件打开情况
- python画激活函数图像
- 关于之前的函数式编程
- python Tags 母板 组件 静态文件相关 自定义simpletag inclusion_tag
- 入库成本与目标成本对比报表中我学到的东西