程序员面试金典 - 面试题 04.03. 特定深度节点链表(BFS)
1. 题目
给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表)。返回一个包含所有深度的链表的数组。
例:
输入:[1,2,3,4,5,null,7,8]1/ \ 2 3/ \ \ 4 5 7/8输出:[[1],[2,3],[4,5,7],[8]]
2. 解题
- 层序,BFS遍历
class Solution {public:vector<ListNode*> listOfDepth(TreeNode* tree) {if(!tree)return {};queue<TreeNode*> q;vector<ListNode*> ans;q.push(tree);int size;TreeNode* tp;ListNode* head, *cur;bool hashead;while(!q.empty()){size = q.size();hashead = false;while(size--){tp = q.front();q.pop();if(!hashead){head = new ListNode(tp->val);cur = head;hashead = true;}else{cur->next = new ListNode(tp->val);cur = cur->next;}if(tp->left)q.push(tp->left);if(tp->right)q.push(tp->right);}ans.push_back(head);}return ans;}
};
程序员面试金典 - 面试题 04.03. 特定深度节点链表(BFS)相关推荐
- 面试题 04.03. 特定深度节点链表
面试题 04.03. 特定深度节点链表 思路:层次遍历 /*** Definition for a binary tree node.* struct TreeNode {* int val;* Tr ...
- 程序员面试金典 - 面试题 02.03. 删除中间节点
1. 题目 实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点. 示例: 输入:单向链表a->b->c->d->e-& ...
- leetcode面试题 04.03. 特定深度节点链表(bfs)
给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表).返回一个包含所有深度的链表的数组.示例:输入:[1,2,3,4,5,null,7, ...
- leetcode —— 面试题 04.03. 特定深度节点链表
给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为 D,则会创建出 D 个链表).返回一个包含所有深度的链表的数组. 示例: 解题思路:使用常规的广度优先遍历就可以 ...
- 程序员面试金典 - 面试题 10.03. 搜索旋转数组
题目难度: 中等 原题链接 今天继续更新程序员面试金典系列, 大家在公众号 算法精选 里回复 面试金典 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 搜索旋转数组.给定一个排序后的数组 ...
- 程序员面试金典 - 面试题 05.03. 翻转数位(位运算)
1. 题目 给定一个32位整数 num,你可以将一个数位从0变为1.请编写一个程序,找出你能够获得的最长的一串1的长度. 示例 1: 输入: num = 1775(11011101111) 输出: 8 ...
- [Leetcode][程序员面试金典][面试题08.03][JAVA][魔术索引][递归][优化]
[问题描述][简单] [解答思路] 1. 逐个查找 时间复杂度:O(N) 空间复杂度:O(1) public int findMagicIndex(int[] nums) {for (int i = ...
- 程序员面试金典 - 面试题 16.03. 交点(数学)
1. 题目 给定两条线段(表示为起点start = {X1, Y1}和终点end = {X2, Y2}),如果它们有交点,请计算其交点,没有交点则返回空值. 要求浮点型误差不超过10^-6.若有多个交 ...
- 程序员面试金典 - 面试题 04.09. 二叉搜索树序列(双端队列+回溯)**
1. 题目 从左向右遍历一个数组,通过不断将其中的元素插入树中可以逐步地生成一棵二叉搜索树. 给定一个由不同节点组成的二叉树,输出所有可能生成此树的数组. 示例: 给定如下二叉树2/ \1 3 返回: ...
最新文章
- 《深入理解计算机系统》第八章——异常控制流知识点总结
- canvas 中的元素拖拽
- 洛谷 - P4755 Beautiful Pair(笛卡尔树+主席树)
- @RequiresPermissions 注解说明
- Android 4 学习(20):ActionBar
- HDOJ 1002 A + B Problem II 解题报告
- SCUT - 12 - 西方国家 - 矩阵快速幂
- vdbench - 性能压力测试工具
- ECharts地图省市县在对应地图的中心位置
- java概述及我的第一个java项目
- html超链接访问前颜色,html超链接颜色设置
- 从今往后,IBM的未来将交给一个印度裔老头儿
- 这些愚蠢的事 数据中心管理中要避免
- mysql sniffer 源码_MySQL 抓包工具 - MySQL Sniffer 使用小结 (含带general_log日志)
- (已解决)ModuleNotFoundError: No module named ‘pycocotools‘
- ft232 android,微雪电子FT232(mini)USB转USART简介
- asp毕业设计——基于asp+access的档案管理系统设计与实现(毕业论文+程序源码)——档案管理系统
- 《数字图像处理》学习笔记(四)--混合空间增强法(待修改)
- seo里的长尾关键词是什么
- Unity在商店或者Package Manager下载的Package的保存位置