【简单】107. 二叉树的层次遍历 II(特殊的逆序)

LeetCode之二叉树层次遍历逆序输出(简单 二叉树) 问题描述: 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其自底向上的层次遍历为: [ [15,7], [9,20], [3] ] 说是简单题,我可没觉... 阅读详情

【题目】
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)。
来源:leetcode
链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/
【示例】
给定二叉树 [3,9,20,null,null,15,7]
3
/ \
9 20
/ \
15 7
返回其自底向上的层次遍历为:
[
[15,7],
[9,20],
[3]
]
【代码】
执行用时 :0 ms, 在所有 C++ 提交中击败了100.00% 的用户
内存消耗 :11.4 MB, 在所有 C++ 提交中击败了100.00%的用户

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    vector<vector<int>> levelOrderBottom(TreeNode* root) {
        if(!root)
            return {};
        vector<int> v;
        vector<vector<int>> rs;
        queue<TreeNode*> q;
        q.push(root);
        TreeNode* test;
        while(!q.empty()){
            int len=q.size();
            while(len--){
                test=q.front();
                v.push_back(test->val);
                if(test->left)
                    q.push(test->left);
                if(test->right)
                    q.push(test->right);
                q.pop();
            }
            rs.push_back(v);
            v.clear();
        }
        reverse(rs.begin(),rs.end());
        return rs;
    }
};
【信息科学与工程学】计算机科学与自动化——第三百零五篇 计算机系统中的各类运算操作01 编号类型领域运算操作运算类型算法算法的详细设计及数学分析参数列表及参数的数值设计应用场景 (100+条)集合运算​1集合运算关系代数并集 (Union)集合运算归并排序去重合并两个集合,去除重复元素。时间复杂度 O(n+m),n,m为两集合大小。输入:集合A, B。输出:A∪B。数据集成、多表结果合并、去重后的全量数据提取。2集合运算关系代数交集 (Intersection)集合运算哈希交集找出同时属于两个集合的元素。平均时间复杂度 O(min(n,m)),最坏 O(n*m)。输入:集合A, B。输出:A∩ 阅读详情

相关推荐

【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 07 堆、栈、表、矩阵、集合、队列、数组、字符串、树、图、动态规划、结构体、元组的算法01

当前段必须包含所有字符的最后出现位置。1. 字符串分割成最多片段2. 基因序列功能域划分3. 文本段落划分4. 音频声道分离5. 图像色彩分区6. 社交网络社群划分7. 蛋白质结构域8. 音乐乐章分段9. 代码模块划分10. 章节划分特征:一次扫描,贪心确定边界。

weixin_49199313的博客 1278

数据结构与算法:逆序输出二叉树的层次遍历结果(代码+理解)

数据结构与算法:逆序输出二叉树的层次遍历结果(代码+理解)

weixin_50690285的博客 1225

【管理科学】第三十五篇 企业经营中的管理科学01 权力、风险、运营、物流、人力资源、库存、合同、品牌、业绩、项目

编号类型领域子领域/内容问题问题的数学分析(电磁/信息论/数学物理/数学化学/界面科学/表面科学 + 几何/拓扑/代数/集合论/图论/数论/函数评估/数值估计/概率/统计/向量/张量/矩阵/矢量 + 其他)算法逐步推理思考的数学表达式及实现步骤及时序流程 参数列表及参数的数值范围及数值分析及常量/常数1管理科学问题运营管理生产计划如何分配有限资源生产多种产品以最大化利润?线性代数、凸优化、单纯形法;向量与矩阵目标函数 max c^T x,约束 Ax ≤ b, x ≥ 0。步骤:①标准化引入松弛变量;②构建初

weixin_49199313的博客 248

二叉树逆层次遍历

1. 一个栈加一个队列,队列中出来的结点指针扔栈里,最后再倒着访问一遍即可。 2. 双向队列,可用双向链表或比较长的数组实现。

Kyle_Kirsten的博客 399

【JavaSE】之流程控制与方法

Java基础之Java流程控制与方法相关知识介绍~

小新要变强的博客 5800

谈谈SAP顾问的几个发展趋势

大家新年好,今天想聊一下对SAP顾问发展趋势的一些个人见解。过去10多年得益于我国的经济发展,外资不断加大在中国的投资和中国企业的发展,SAP顾问行业得到了很大的发展和壮大。那么未来几年SAP顾问的职业发展到底怎么样呢?

syounger的专栏 2515

《leetcode-php》倒序层次遍历二叉树

给定一个二叉树,返回该二叉树由底层到顶层的层序遍历,(从左向右,从叶子节点到根节点,一层一层的遍历) <?php class Node{ public $left = null; public $right = null; public $val; public function __construct($val) { $this-&gt...

less_cold的博客 472

6层高速PCB设计实战:BGA布局与阻抗匹配关键解析

本文深入解析6层高速PCB设计中BGA布局与阻抗匹配的关键技术。通过实战经验分享,详细介绍了六层PCB层叠结构的选择与优化、BGA器件布局技巧、阻抗匹配的实战经验以及高速布线技巧,帮助工程师提升PCB设计水平,确保信号完整性和电源完整性。

weixin_28481133的博客 369

按层次遍历二叉树_107.二叉树的层次遍历 II

题目描述 给定一个二叉树,返回其节点值自底向上的层次遍历。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树[3,9,20,null,null,15,7],3/\920/\157返回其自底向上的层次遍历为:[[15,7],[9,20],[3]]迭代实现 迭代遍历比较直观,就是按层遍历我们将我们一层遍历得到...

weixin_30171859的博客 485

Win11专业版破解RDP限制:实现多用户远程桌面协同办公

本文详细介绍了如何在Windows 11专业版上破解RDP限制,实现多用户远程桌面协同办公。通过使用RDPWrap工具,用户可以绕过微软的授权限制,允许多个用户同时登录同一台电脑,提高硬件利用率和团队协作效率。文章包含详细的安装配置步骤、性能优化技巧及常见问题解决方案,适用于需要远程协作的办公场景。

weixin_33806300的博客 467

Spring Boot集成ShardingSphere实现数据加密及数据脱敏 | Spring Cloud 48

利用ShardingSphere实现: - 数据加密 - 数据脱敏

gmHappy 1万+

【LeetCode】第107题——二叉树的层次遍历II(难度:简单)

【LeetCode】第107题——二叉树的层次遍历II(难度:简单)题目描述解题思路代码详解注意点 题目描述 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例: 输入:给定二叉树 [3, 9, 20, null, null, 15, 7] 输出:[[15,7], [9,20], [3]] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/binary-tree-level-order

Se7en_Dayz的博客 305

SAP Retail 补货里的 Requirement Groups,站点和商品太多时,主数据维护如何做减法

SAP Retail补货主数据设计中,Requirement Groups(需求组)是常被低估但至关重要的分类机制。它通过将具有相同补货需求的接收方(如门店)按商品分类(Merchandise Category)分组,大幅降低主数据维护量。在大型零售场景中(如800家门店、6万商品),直接维护每个门店和商品的组合参数会导致维护量失控。Requirement Groups允许企业按品类特性(如乳制品、饮料等)为不同门店组设置统一补货参数,并随业务变化灵活调整。该机制与商品分类紧密绑定,不同于MRP Group

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 68

leetcode-二叉树的层序遍历python实现

二叉树是每个节点最多有两个子树的树结构。二叉树的遍历有深度优先遍历(Depth-First-Search,DFS)和广度优先遍历(Breadth-First-Search,BFS)两类。深度优先遍历包括前序遍历、中序遍历、后续遍历;广度优先遍历也就是二叉树层序遍历。访问节点的顺序如下。 前序遍历:根节点,左子节点,右子节点 中序遍历:左子节点,根节点,右子节点 后序遍历:左子节点,右子节点,根节点 层序遍历:从上到下,从左至右依次遍历节点 以下将给出这层序遍历的python实现,分别对应leetc

wu2020的博客 1594

【Flink】Flink提交任务到Yarn报错Unable to close file because the last blockBP enough number of replicas

当使用 HDFS 存储文件时,每个数据块会有多个副本分布在不同的节点上,以确保数据的可靠性和容错性。然而,由于某种原因,最后一个数据块 blk_1101776325_28036289 的副本数量不足,导致无法成功关闭文件。如果确定副本数量正确,并且问题仍然存在,可以尝试手动修复副本不足的情况。异常消息表明在关闭文件时出现问题,我的原因是hadoop上有个节点有问题,导致提交到那个节点的时候,无法传递包到相关的机器上。检查 HDFS 集群的状态,确保所有节点都正常工作,没有节点宕机或网络故障等问题。

九师兄 935

第五节_PySide6基本窗口控件_主窗口和标签

本文介绍了PySide6中主窗口和标签控件的使用。主要内容包括: 窗口控件分类: QWidget是基础窗口部件,可作为独立窗口或子部件 QMainWindow提供标准应用程序框架,包含菜单栏、工具栏等 QDialog用于对话框,支持模态交互 主窗口创建: 演示了如何创建QMainWindow子类 实现了窗口居中、设置图标、状态栏等功能 提供了窗口几何信息的获取方法 QLabel标签控件: 继承自QFrame类 用于显示文本或图像 文章通过代码示例详细说明了主窗口的创建和使用方法,包括位置控制、图标设置等常见

su桥木的博客 1024

leetcode 107 二叉树的层次遍历 II

思路来自104,作层序遍历,因为层序遍历就是从上到下,从左到右 而要求是从下到上,从左到右输出,只需稍作修改; vector&lt;vector&gt; out 是最终的输出; temp 是临时的容器,对二叉树作层序遍历,把某一层的数据都放入temp,该层处理完时,把temp放进out; 需要注意的是,temp放入out后,需要clear(); 这样得到的out每一个单元 是某一层的从左到右的遍历...

weixin_43330995的博客 142

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

从顶到底还是从底到顶?一次UI组件重构引发的“反转”思考(107. 二叉树的层序遍历 II)

下次再遇到看似棘手的问题时,不妨退一步,看看它背后是不是隐藏着某个经典的数据结构或算法模型。面对这个问题,我探索了三种不同的实现路径,从“先跑通再说”到“这也太秀了吧”,每一步都加深了我对数据结构的理解。管他什么正序倒序,我先用最熟悉的方式把层序遍历搞定,最后再把结果整个儿颠倒一下不就完事了?这样一来,最先处理的根节点层会被不断“挤”到列表的最后,而最后处理的叶子节点层自然就在列表的最前面了。,我们要在侧边栏清晰地展示出它的“层级路径”,但为了突出当前组件,希望把最深层的路径放在最上面。

热爱WebGIS的博客 952

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

JS 力扣刷题 107. 二叉树的层序遍历 II

var levelOrderBottom = function(root) { if(!root)return [];//特殊情况 const q = [[root, 0]];//层次遍历,记录每个节点和所在的层数 const res = []; while(q.length){//队列层次遍历 [node, index] = q.shift();//出队 if(!res[index]){//该层第一个节点 res.p.

Candy_Rainbow_的博客 497

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

LeetCode 107. 二叉树的层序遍历 II

二叉树的层序遍历 II 给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回其自底向上的层序遍历为: [ [15,7], [9,20], [3] ] 题解 /** * Definition for a binary tree node. * struct TreeNode { * int val; * T.

weixin_43918046的博客 106

leetcode第107题python版二叉树的层序遍历队列+双层循环法

107. 二叉树的层序遍历 II 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

前端帅小伙 299

二叉树层序遍历:BFS核心思想与LeetCode实战解析

广度优先搜索(BFS)是一种基础的图遍历算法,其核心思想是逐层探索节点,确保先访问的节点其邻居也优先被访问。这一原理通过队列(Queue)这一先进先出的数据结构实现,在二叉树场景下即表现为层序遍历。掌握BFS不仅有助于理解树的结构,更是解决图论问题、进行状态空间搜索的关键技术。在算法面试和工程实践中,层序遍历常被用于求解二叉树深度、寻找最短路径、序列化等场景。本文以LeetCode高频面试题为例,深入解析层序遍历的标准实现与常见变体,如锯齿形遍历、寻找每层最大值等,并探讨其与深度优先搜索(DFS)的关联及性

weixin_30394981的博客 348

二叉树层序遍历:从BFS基础到高频变体实战解析

广度优先搜索(BFS)是图与树遍历中的基础算法,其核心思想是逐层探索节点,确保先访问的节点其邻接点也优先被访问。这一特性使其天然适用于需要按层处理或寻找最短路径的场景。在数据结构中,队列凭借其先进先出(FIFO)的特性,成为实现BFS的理想选择。从工程实践角度看,掌握基于队列的BFS模板,不仅能高效解决基础的层序遍历问题,更是应对众多衍生问题的通用钥匙,例如计算层平均值、执行锯齿形遍历或寻找底层最左值。本文以二叉树层序遍历为锚点,深入剖析其队列实现原理、复杂度分析及代码优化技巧,并自然延伸至LeetCode

ithome 480

【LeetCode】栈和队列相关问题

栈和队列相关问题栈的基础应用20. 有效的括号题目描述方法1 基础栈的应用方法2 将右括号入栈 加速150. 逆波兰表达式求值题目描述方法1三级目录 栈的基础应用 20. 有效的括号 题目描述 方法1 基础栈的应用 bool isValid1(string s) { stack<char> stack1; for (int i = 0;i < s.size();i++) { if (s[i] == '{' || s[i] == '(' || s[i] == '[')

allensu374125056的博客 446

c++蓝桥杯题目积累

P1055 [NOIP 2008 普及组] ISBN 号码 - 洛谷

2401_86043214的博客 242

UVa OJ 题解索引

寂静山林 770
上一篇: 【简单】面试题 08.03. 魔术索引(普通法+二分法)简单题不简单啊
下一篇: 【简单】面试题 17.04. 消失的数字
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值