面试题 04.03. 特定深度节点链表
面试题 04.03. 特定深度节点链表
思路:层次遍历
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:vector<ListNode*> listOfDepth(TreeNode* tree) {vector<ListNode*> res;if(tree==NULL) return res;queue<TreeNode*> q;q.push(tree);while(!q.empty()){int size = q.size();ListNode* tmp = new ListNode(0);ListNode* Lnow = tmp;for(int i=0;i<size;i++){TreeNode* now = q.front();Lnow->next = new ListNode(now->val);Lnow = Lnow->next;q.pop();if(now->left) q.push(now->left);if(now->right) q.push(now->right);}if(tmp->next)res.push_back(tmp->next);}return res;}
};
面试题 04.03. 特定深度节点链表相关推荐
- leetcode面试题 04.03. 特定深度节点链表(bfs)
给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表).返回一个包含所有深度的链表的数组.示例:输入:[1,2,3,4,5,null,7, ...
- 程序员面试金典 - 面试题 04.03. 特定深度节点链表(BFS)
1. 题目 给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表).返回一个包含所有深度的链表的数组. 例: 输入:[1,2,3,4,5, ...
- leetcode —— 面试题 04.03. 特定深度节点链表
给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表).返回一个包含所有深度的链表的数组. 示例: 解题思路:使用常规的广度优先遍历就可以 ...
- 程序员面试金典:面试题 02.03. 删除中间节点
1. 题目 面试题 02.03. 删除中间节点 2. 描述 实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点. 示例: 输入: 单向链表 a->b-& ...
- 程序员面试金典 - 面试题 02.03. 删除中间节点
1. 题目 实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点. 示例: 输入:单向链表a->b->c->d->e-& ...
- 面试题 02.03. 删除中间节点
2020-03-22 1.题目描述 删除中间节点 2.题解 之前好像做过这道题,直接将后一个节点的数据域赋值过来再删除后一个节点即可. 3.代码 class Solution { public:voi ...
- 面试题 04.01. 节点间通路
面试题 04.01. 节点间通路 注意是有向图,用邻接表代替图,dfs或者bfs都可 class Solution { public:bool findWhetherExistsPath(int n, ...
- C++算法学习(力扣:面试题 04.04 检查平衡性)
力扣:面试题 04.04 检查平衡性 实现一个函数,检查二叉树是否平衡.在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1. 示例 1: 给定二叉树 [3,9,20,null, ...
- AI公开课:19.04.03周明—MSRA副院长《NLP的进步如何改变搜索的体验》课堂笔记以及个人感悟
AI公开课:19.04.03周明-MSRA副院长<NLP的进步如何改变搜索的体验>课堂笔记以及个人感悟 导读 周明博士,1999年加入微软研究院(MSRA).现任微软亚洲研究 ...
最新文章
- Java学习总结:45(字符编码)
- 使用python对学生表的查询_多表组合查询——Python操作Mysql数据库
- 皮一皮:中国好男友?
- ios中MKHorizMenu用法
- jQuery的Callback()方法
- 【小米面试题】-给定一个具体时间,计算时针与分针之间的角度
- mysql eager mode_MySQL Connector Net 6.6.5 Entity Framework 显式预加载 Eager Load Bug
- 想调试Angular框架的@HostBinding,应该在哪里设置断点
- Vue实现跑马灯效果以及封装为组件发布
- Redis学习笔记(三)
- 【原创】IDEA一定要改的八条配置
- nfc和红外线的区别_红外,蓝牙,WiFi,NFC区别及优缺点
- 前端 圆形进度图_Highcharts 圆形进度条式测量图
- 2个版本并存的python使用新的版本安装django的方法
- 传输层协议(10):滑动窗口(4)
- 2022届秋招笔试题小结:图
- HTML罗盘时钟代码
- 如何高效率的使用Google搜索
- Nodejs学习记录: koa2
- 2020-2022年最全各省、市矢量和栅格数据(土地利用、植被覆盖、土壤类型、人口密度、NPP、气象水文数据、路网、省市县乡镇区划边界、poi数据、河流水系、建筑轮廓)
热门文章
- 大数据_MapperReduce_Hbase的优化_RowKey设计原则---Hbase工作笔记0028
- k8s核心技术-资源编排(yaml)的编写方式---K8S_Google工作笔记0019
- SpringCloud工作笔记038---spring cloud微服务权限认证_终于确定下来大体的思想了
- 调试 acf 的时候发现问题
- 总结之《征服C指针》
- std::set, std::list, std::vector在erase的区别
- 实现时间排序_面试官:手撕十大排序算法,你会几种?
- JAVA编程规范总结
- ubuntu pycharm mysql_ubuntu安装mysql pycharm sublime
- Android闪退日志关键字,求助,简单UI界面,调试总是闪退,还没有LOG错误日志???...