LeetCode C++ 面试题 04.03. List of Depth LCCI【Tree/BFS】中等
发布日期:2021-07-01 02:57:01
浏览次数:3
分类:技术文章
本文共 1181 字,大约阅读时间需要 3 分钟。
Given a binary tree, design an algorithm which creates a linked list of all the nodes at each depth (e.g., if you have a tree with depth D
, you’ll have D
linked lists). Return a array containing all the linked lists.
Example:
Input: [1,2,3,4,5,null,7,8] 1 / \ 2 3 / \ \ 4 5 7 / 8Output: [[1],[2,3],[4,5,7],[8]]
题意:给定一棵二叉树,对每一深度上的所有节点分别创建链表,返回一个包含所有深度的链表的数组。
解法 BFS
class Solution { public: vectorlistOfDepth(TreeNode* tree) { if (tree == nullptr) return { }; vector ans; queue q; q.push(tree); while (!q.empty()) { int size = q.size(); ListNode dummy(0), *rear = &dummy; //虚拟头结点+尾插法 for (int i = 0; i < size; ++i) { TreeNode *t = q.front(); q.pop(); rear->next = new ListNode(t->val); rear = rear->next; if (t->left) q.push(t->left); if (t->right) q.push(t->right); } ans.push_back(dummy.next); } return ans; }};
执行结果如下:
执行用时:4 ms, 在所有 C++ 提交中击败了68.22% 的用户内存消耗:8.4 MB, 在所有 C++ 提交中击败了29.59% 的用户
转载地址:https://memcpy0.blog.csdn.net/article/details/110103633 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月18日 21时54分39秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
关于CNN中感受野的理解和计算方法
2019-05-02
java基础----RandomAccessFile
2019-05-02
__attribute__((packed))
2019-05-02
dom简介
2019-05-02
javascript学习
2019-05-02
Android深入浅出之Binder机制
2019-05-02
linux查看硬件信息
2019-05-02
linux支持大于4G内存
2019-05-02
WM_GETINFO相关
2019-05-02
填入空隙(setbkcolor,setbkmode)
2019-05-02
[收藏] FC交换机基础知识详解
2019-05-02
NVMe技术架构深度分析
2019-05-02
技术爆炸时代如何做技术的掌控者?
2019-05-02
机柜服务器如何选择,有哪些学问?
2019-05-02
Ceph存储系统Scrub机制分析
2019-05-02
OpenStack重组,敢问未来路在何方?
2019-05-02
CTO,是怎样炼成的?
2019-05-02
选择GPU服务器的基本原则
2019-05-02
关于数据中台系统,需要了解哪些技术?
2019-05-02
全面分析HDFS基本技术原理
2019-05-02