LeetCode C++ 剑指 Offer 32 - II. 从上到下打印二叉树 II【Tree/BFS】简单
发布日期:2021-07-01 02:57:06 浏览次数:2 分类:技术文章

本文共 802 字,大约阅读时间需要 2 分钟。

从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。

例如:给定二叉树 [3,9,20,null,null,15,7]

3   / \  9  20    /  \   15   7

返回其层次遍历结果:

[  [3],  [9,20],  [15,7]]

提示:节点总数 <= 1000


解法 BFS

class Solution {
public: vector
> levelOrder(TreeNode* root) {
vector
> ans; if (!root) return ans; queue
q; q.push(root); while (!q.empty()) {
int size = q.size(); ans.push_back(vector
()); for (int i = 0; i < size; ++i) { TreeNode *temp = q.front(); q.pop(); ans.back().push_back(temp->val); if (temp->left) q.push(temp->left); if (temp->right) q.push(temp->right); } } return ans; }};

执行效率如下:

执行用时:8 ms, 在所有 C++ 提交中击败了57.47% 的用户内存消耗:12.5 MB, 在所有 C++ 提交中击败了48.66% 的用户

转载地址:https://memcpy0.blog.csdn.net/article/details/110152973 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode C++ 剑指 Offer 32 - I. 从上到下打印二叉树【Tree/BFS】中等
下一篇:LeetCode C++ 142. Linked List Cycle II【Linked List/Two Pointers】中等

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月22日 07时27分59秒