首页 > 编程语言 >#yyds干货盘点# LeetCode程序员面试金典: 二叉树的层序遍历 II

#yyds干货盘点# LeetCode程序员面试金典: 二叉树的层序遍历 II

时间:2023-05-18 23:31:46浏览次数:45  
标签:node yyds right 金典 levelOrder queue 二叉树 null root

1.简述:

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

 

示例 1:

输入:root = [3,9,20,null,null,15,7]

输出:[[15,7],[9,20],[3]]

示例 2:

输入:root = [1]

输出:[[1]]

示例 3:

输入:root = []

输出:[]

2.代码实现:

class Solution {
    public List<List<Integer>> levelOrderBottom(TreeNode root) {
        List<List<Integer>> levelOrder = new LinkedList<List<Integer>>();
        if (root == null) {
            return levelOrder;
        }
        Queue<TreeNode> queue = new LinkedList<TreeNode>();
        queue.offer(root);
        while (!queue.isEmpty()) {
            List<Integer> level = new ArrayList<Integer>();
            int size = queue.size();
            for (int i = 0; i < size; i++) {
                TreeNode node = queue.poll();
                level.add(node.val);
                TreeNode left = node.left, right = node.right;
                if (left != null) {
                    queue.offer(left);
                }
                if (right != null) {
                    queue.offer(right);
                }
            }
            levelOrder.add(0, level);
        }
        return levelOrder;
    }
}

标签:node,yyds,right,金典,levelOrder,queue,二叉树,null,root
From: https://blog.51cto.com/u_13321676/6307799

相关文章

  • # yyds干货盘点 # 使用Python复制某文件夹下子文件夹名为"数据"文件夹下的所有以"DD"
    大家好,我是皮皮。一、前言前几天在Python最强王者群【魏哥】问了一个Python自动化办公处理的问题,这里拿出来给大家分享下。二、实现过程这里他自己有一个原始代码,但是实现的效果不尽人意。importshutilimportos#importsys#导入sys模块#sys.setrecursionlimit(1000)#......
  • #yyds干货盘点#灵活的 Node.js 多功能爬虫库 —— x-crawl
    x-crawlx-crawl是一个灵活的Node.js多功能爬虫库。灵活的使用方式和众多的功能可以帮助您快速、安全、稳定地爬取页面、接口以及文件。如果你也喜欢x-crawl,可以给 x-crawl存储库 点个star支持一下,感谢大家的支持!GitHub:https://github.com/coder-hxl/x-crawl特征异步同步......
  • #yyds干货盘点#Tauri 与 Electron
    Tauri什么是Tauri?Tauri是一个为所有主流桌面平台构建小型、快速二进制文件的框架。开发人员可以集成任何编译成HTML、JS和CSS的前端框架来构建他们的用户界面。应用程序的后端是一个Rust二进制文件,具有前端可以与之交互的API。安装方式Xcode$xcode-select--installRu......
  • #yyds干货盘点# LeetCode程序员面试金典:相交链表
    1.简述:给你两个单链表的头节点 headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。图示两个链表在节点c1开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后,链表必须保持其原始结构。自定义评测:评测系统的输入......
  • #yyds干货盘点# LeetCode程序员面试金典:从中序与后序遍历序列构造二叉树
    题目:给定两个整数数组inorder和postorder,其中inorder是二叉树的中序遍历,postorder是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例1:输入:inorder=[9,3,15,20,7],postorder=[9,15,7,20,3]输出:[3,9,20,null,null,15,7]示例2:输入:inorder=[-1],postorder......
  • leetcode:二叉树的最大深度
    题目描述给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],3/\920/\157返回它的最大深度 3。题目链接:104.二叉树......
  • 6、二叉树和递归
    内容来自刘宇波老师玩转算法面试1、二叉树天然的递归结构二分搜索树2、一个简单的二叉树问题引发的血案3、注意递归的终止条件4、定义递归问题5、稍复杂的递归逻辑6、二分搜索树中的问题......
  • LeetCode 257. 二叉树的所有路径
    题目链接:LeetCode257.二叉树的所有路径题意:给你一个二叉树的根节点root,按任意顺序,返回所有从根节点到叶子节点的路径。解题思路:递归法采用递归法,就是一个dfs的过程,在遍历过程中,记录上路径即可。完整代码如下:varres[]stringvarpath[]intfuncbinaryTreePaths(......
  • LeetCode 111. 二叉树的最小深度
    题目链接:LeetCode111.二叉树的最小深度题意:给定一个二叉树,找出其最小深度。给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。解题思路:1.递归法与求最大深度类似,采用先序或者后序都是可以的,但是这里要注意一个问题:最小深度是从......
  • 力扣---1448. 统计二叉树中好节点的数目
    给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目。「好节点」X定义为:从根到该节点X所经过的节点中,没有任何节点的值大于X的值。 示例1:输入:root=[3,1,4,3,null,1,5]输出:4解释:图中蓝色节点为好节点。根节点(3)永远是个好节点。节点4->(3,4)是路径中......