day14|110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

news2025/1/20 5:49:38

110.平衡二叉树

给定一个二叉树,判断它是否是高度平衡的二叉树。

本题中,一棵高度平衡二叉树定义为:

一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

示例 1:

 

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

输出:true 

示例 2:

 

输入:root = [1,2,2,3,3,null,null,4,4]

输出:false 

示例 3:

输入:root = []

输出:true

问题分析:

递归法:利用后序遍历,分别求出其左右子树的高度, 如果差值小于等于1,则返回当前二叉树的高度,否则返回-1,表示已经不是二叉平衡树了。

class Solution {
    public boolean isBalanced(TreeNode root) {
         return getheight(root)!=-1;//根节点看左右子树是否高度差不超过1
    }
    public int getheight(TreeNode node){
        if(node==null) return 0;

        int leftheight=getheight(node.left);//左
        if(leftheight==-1) return -1;

        int rightheight=getheight(node.right);//右
        if(rightheight==-1) return -1;
        

                                                  //中
        if (Math.abs(leftheight-rightheight)>1) {//返回一个数的绝对值 Math.abs(x)
            return -1;

        }

        return Math.max(leftheight,rightheight)+1;
    }
}

257. 二叉树的所有路径

        给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。

示例 1:

 

输入:root = [1,2,3,null,5]

输出:["1->2->5","1->3"] 

示例 2:

 输入:root = [1]

输出:["1"]

AC先欠着 


 404.左叶子之和 

        给定二叉树的根节点 root ,返回所有左叶子之和。

 

示例 1:


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

输出: 24

解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 

示例 2:

输入: root = [1]

输出: 0

AC先欠着 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/161414.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【正点原子FPGA连载】 第十七章 呼吸灯实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第十七章 呼吸灯…

队列的讲解和实现(图解+代码/C语言+循环队列OJ)

今天为大家分享的是队列的实现,本文主要介绍单向链表来模拟实现队列,最后给出力扣上一道循队列的OJ实现。 目录 一、图解队列的结构 二、模拟栈的分步实现 (1)队列的初始化 (2)队尾入队 (3&…

【自学Python】Python比较运算符is和==区别

Python比较运算符is和区别 Python比较运算符is和区别教程 在 Python 中,比较运算符 is 和 is not 用于比较两个对象是否是同一个对象, 和 ! 用于比较两个 变量 的数据是否相等。 案例 比较数值型 数值型,使用 is 和 效果相同 print(&q…

Word控件Spire.Doc 【Table】教程(5):创建表格并在 Doc 文档中设置其边框

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

ROS2机器人编程简述新书推荐-A Concise Introduction to Robot Programming with ROS2

参考链接:https://github.com/fmrico/book_ros2封面:简介:ROS2机器人编程简明教程使用ROS2进行机器人编程的简明介绍为读者提供了通过编程实现机器人所需的概念和工具。它将使读者具备使用ROS2(ROS的新版本)进行项目所…

RT-Thread系列--内存堆MEMHEAP源码分析

一、目的在上一篇《RT-Thread系列--内存池MEMPOOL源码分析》我们介绍了RT-Thread的内存池MEMPOOL实现细节,包括内存池结构和内存块管理。本篇我们来分析一下RT-Thread的内存堆MEMHEAP的实现原理。内存堆MEMHEAP的特点:按需分配,需要多少内存就…

小伟婚后首次看望丈母娘,大衣哥准备了一大三轮车礼品,太豪横了

伴随着春节的临近,大衣哥的儿子小伟, 又一次迎来自己的高光时刻,他和未婚妻一起携手,步入了神圣的婚姻殿堂,大衣哥也长出一口气。儿子小伟再婚,大衣哥完成了一小半任务,接下来还要生孩子&#x…

【Python基础篇】Python中的七种数据类型

文章目录前导一、数字类型(Number)二、布尔类型(Boolean)三、字符串类型(String)3.1 字符串索引3.2 字符串截取、拼接和复用四、列表类型(List)4.1 in和not in4.2 len()4.3 添加/删除…

Three.js 打造酷炫的三角形

在前一章中,我们通过 BufferGeometry 创建了一个正方形,本节我们利用 BufferGeometry 打造一簇酷炫的三角形,最终的效果如下图所示: 从效果图中可以发现,每一个三角形的位置、大小、颜色都是随机的。 // 共有50个三角…

医疗影像工具LEADTOOLS 入门教程: 检测和提取机读旅行证件 - 控制台 C#

LEADTOOLS 是一个综合工具包的集合,用于将识别、文档、医疗、成像和多媒体技术整合到桌面、服务器、平板电脑、网络和移动解决方案中,是一项企业级文档自动化解决方案,有捕捉,OCR,OMR,表单识别和处理&#…

专注分布式架构 莱商银行的数字化转型实践

本文刊登于《金融电子化》杂志 2022 年 12 月下,作者魏汝浩为莱商银行首席信息官。2021 年 12 月 29 日,中国人民银行印发《金融科技发展规划(2022—2025 年)》(银发〔2021〕335 号),提出新时期…

分享166个ASP源码,总有一款适合您

166个ASP源码下载链接:https://pan.baidu.com/s/19W7FmY9nADL1Rge8e5uqiQ?pwdskhh 提取码:skhh import os import shutil import time from time import sleepimport requests from bs4 import BeautifulSoup from docx import Document from docx.sh…

Shader从入门到放弃(四) —— 绘制闪耀星际

前言 经过3个章节的学习,相信大家对shader编程也逐渐的有了一些感觉,所以这次我们玩个“大”的!。 今天的学习内容是绘制“闪耀星际”,正如歌中唱的那样: 星际闪耀光影,落入你的眼睛,如迷人的…

Dubbo泛化调用

Dubbo泛化调用 1. 场景 场景一:我们要搭建一个统一的测试平台,可以让各个业务方在测试平台中通过输入接口、分组名、方法名以及参数值,在线测试自己发布的 RPC 服务。这时我们就有一个问题要解决,我们搭建统一的测试平台实际上是…

【论文速递】CVPR2022 - 泛化的小样本语义分割

【论文速递】CVPR2022 - 泛化的小样本语义分割 【论文原文】:Generalized Few-shot Semantic Segmentation 获取地址:https://openaccess.thecvf.com/content/CVPR2022/papers/Tian_Generalized_Few-Shot_Semantic_Segmentation_CVPR_2022_paper.pdf博…

【ROS2 入门】Jeston TX1 JetPack_4.6.3环境 ubuntu 18.04 ROS2 安装

大家好,我是虎哥,从今天开始,我将花一段时间,开始将自己从ROS1切换到ROS2,在上一篇中,我们再虚拟机环境中安装了 ROS2 eloquent版本,并完成了初步的验证,但是做为一个偏硬件的博主&a…

nginx禁止外网访问

1、安装 libmaxminddb 库 apt updateapt install libmaxminddb0 libmaxminddb-dev mmdb-bin上面安装的软件包是: libmaxminddb0 libmaxminddb-dev 是MaxMind地理定位数据库mmdb-bin – 二进制。 从命令行调用的程序。 使用此命令手动定位 IP 安装参考 2、下载geoi…

node学习笔记

阶段一 1 初始Node.js javascript 运行环境 1.2 Node.js中的javacript 运行环境 1.3 Node.js环境安装 百度 1.4 node.js 执行javaScript 代码 2 fs文件系统模块 2.1 fs文件系统模块概念 导入文件系统模块: const fs require(fs)fs.readFile() // 1 导入fs文件…

【进阶C语言】通讯录(后期会升级)

文章目录一.基本框架与功能二.头文件的详细内容三.函数的实现1.打印菜单2.初始化通讯录3.添加联系人信息4.打印联系人信息5.查找名字6.删除联系人信息7.查找联系人8.修改联系人信息9.排序联系人(按照名字)四.总结1.test.c2.contact.c3.contact.h一.基本框…

智能电风扇(stm32f103c8t6)(直流电机,热敏传感器)(TIM,ADC)

前言 我的毕业论文的课题 提示:以下是本篇文章正文内容,下面案例可供参考 一、热敏传感器计算温度(ADC采样单通道) #include "stm32f10x.h" // Device header#define T25 298.15 #define B 3…