代码随想录算法刷题训练营day17

代码随想录算法刷题训练营day17:LeetCode(110)平衡二叉树

LeetCode(110)平衡二叉树
题目
在这里插入图片描述

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public boolean isBalanced(TreeNode root) {//一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 if(root==null){return true;}//一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 //设置一个函数求求左右节点的高度差,并在求的过程中,判断左右节点的高度差int flagNode=betweenNodeHeight(root);if(flagNode==-1){return false;}else{return true;}}public int betweenNodeHeight(TreeNode root){if(root==null){return 0;}//后续遍历,先左子树,再右子树,再根-----一层一层往上返回-1;int leftHeight=betweenNodeHeight(root.left);if(leftHeight==-1){return -1;}int rightHeight=betweenNodeHeight(root.right);if(rightHeight==-1){return -1;}if(Math.abs(leftHeight-rightHeight)>1){return -1;}else{int rootHeight=Math.max(leftHeight, rightHeight)+1;return rootHeight;}}
}

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

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

相关文章

计算机二级C语言的注意事项及相应真题-6-程序填空

目录 51.将参数num按升序插入到数组xx中52.在数组中找出两科成绩之和最高的学生并返回其在数组中的下标53.删除所有串长超过k的字符串,输出剩下的字符串54.根据所给的一组学生的成绩,计算出平均成绩,并计算低于平均成绩的学生的平均成绩55.将…

python连接activemq

安装使用到的库 输入如下命令安装stomp pip install stomp.py 发送请求 # -*-coding:utf-8-*-import stomp import time# 队列名(接收方可以根据管道名来选择接受那个队列数据) location_queue "123456" # 服务器ip,端口固定用这个 conn stomp.Connection([(127…

AlexNet,ZFNet详解

1 AlexNet 网络结构 对于AlexNet网络来说,因为当时资源环境受限,他从第一步卷积开始就把一个图像分到两个GPU上训练,然后中间进行组合最后进行融合成全连接成1000个置信度 1 得到一张3x224x224的图像,然后进行11x11的卷积&…

山海鲸智慧医疗解决方案:让医疗数据说话

在医疗领域,数据可视化对于提高诊疗效率、辅助医学研究和提升患者就医体验具有重要意义。作为山海鲸可视化软件的开发者,我们致力于利用先进的数据可视化技术,为医疗行业提供高效、智能的解决方案,本篇文章就带大家一起了解一下这…

03 创建图像窗口的几种方式

read_image(Image, printer_chip/printer_chip_01) * 打开图像窗口 *用来打开一个新的图形窗口,可以用来显示图标对象,如图像、区域和线条,也可以执行文本输出。 *该窗口自动变为活动状态,所有所有输出(dev_display和自动显示操作…

pdf 转html 在线预览和查询

方案一:pdf2htmlex package com.realize.controller;import cn.hutool.http.HttpUtil; import com.alibaba.fastjson2.JSONObject; import com.realize.util.MsgUtil; import com.realize.util.OssUtil; import com.realize.util.PdfConvertUtil; import com.reali…

java大数据hadoop2.9.2 hive操作

1、创建常规数据库表 &#xff08;1&#xff09;创建表 create table t_stu2(id int,name string,hobby map<string,string> ) row format delimited fields terminated by , collection items terminated by - map keys terminated by :; &#xff08;2&#xff09;创…

【Linux】开始使用 vim 吧!!!

Linux 1 what is vim &#xff1f;2 vim基本概念3 vim的基本操作 &#xff01;3.1 vim的快捷方式3.1.1 复制与粘贴3.1.2 撤销与剪切3.1.3 字符操作 3.2 vim的光标操作3.3 vim的文件操作 总结Thanks♪(&#xff65;ω&#xff65;)&#xff89;感谢阅读下一篇文章见&#xff01;…

Power ModeII 插件的下载与使用-----idea

下载 Marketplace里面搜索下载即可 使用 下载后重启软件就可以用了 下面是一些关于Power ModeII &#xff0c;我的个性化设置截图 以及相关设置解释 插件或扩展的设置面板【用于给代码编辑器或集成开发环境&#xff08;IDE&#xff09;添加视觉效果】 主要设置 ENTER POWE…

力扣0092——反转链表II

反转链表II 难度&#xff1a;中等 题目描述 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例1 输入&#xff1a; head [1,2,3,4,5], left 2,…

数学知识第三期 欧拉函数

前言 相信大家在高中的时候接触过欧拉函数&#xff0c;希望大家通过本篇文章能够进一步理解欧拉函数&#xff01;&#xff01;&#xff01; 一、什么是欧拉函数&#xff1f; 欧拉函数是一个在数论中用于描述特定正整数的互质数的概念。具体来说&#xff0c;对于一个正整数n&…

vue项目前端生成EXCEL模板并解析上传JSON

一&#xff0c;安装依赖 并引入 "file-saver": "^2.0.5", "xlsx": "^0.18.5" import { saveAs } from "file-saver"; 二&#xff0c;生成模板 button_23Click() {const self this;// 导入模板下载// const tableDa…

每日一题 力扣2861 最大合金数

2861. 最大合金数 题目描述&#xff1a; 假设你是一家合金制造公司的老板&#xff0c;你的公司使用多种金属来制造合金。现在共有 n 种不同类型的金属可以使用&#xff0c;并且你可以使用 k 台机器来制造合金。每台机器都需要特定数量的每种金属来创建合金。 对于第 i 台机器…

华为机考入门python3--(0)模拟题3-计算字符串重新排列数

分类&#xff1a;排列组合 知识点&#xff1a; 计算字符串中每个字符出现的次数 Counter(string) 计算列表中每个元素出现的次数 Counter(list) 阶乘 math.factorial(num) 排列去重 题目来自【华为招聘模拟考试】 先把每个字符当成唯一出现过一次&#xff0c;计算所有排列…

keepalived+nginx双主热备(有问题私信)

keepalivednginx双主热备 前言keepalivednginx双主热备keepalivednginx双主热备部署安装nginx安装keepalived修改master节点的keepalived配置文件 修改backup节点的keeepalived配置文件配置keepalived主备配置keepalived双主热备 前言 有关keepalived和nginx的一些工作原理&am…

【论文笔记】《Learning Deconvolution Network for Semantic Segmentation》

重要说明&#xff1a;严格来说&#xff0c;论文所指的反卷积并不是真正的 deconvolution network 。 关于 deconvolution network 的详细介绍&#xff0c;请参考另一篇博客&#xff1a;什么是Deconvolutional Network&#xff1f; 一、参考资料 Learning Deconvolution Netwo…

一步步安装Ruby攻略

在大多数操作系统上安装Ruby的步骤基本相同。以下是安装Ruby的详细步骤&#xff1a; 对于Ubuntu或其他基于Debian的系统&#xff1a; 打开终端。输入以下命令更新软件包列表&#xff1a; sql复制代码 sudo apt update 安装Ruby&#xff1a; 复制代码 sudo apt install rub…

ROS2常用命令工具

ROS2常用命令工具 包管理工具ros2 pkg ros2 pkg create ros2 pkg create --build-type ament_python pkg_name rclpy std_msgs sensor_msgs –build-type : C或者C ament_cmake &#xff0c;Python ament_python pkg_name &#xff1a;创建功能包的名字 rclpy std_msgs sens…

【Leetcode】2861. 最大合金数

文章目录 题目思路代码结果 题目 题目链接 假设你是一家合金制造公司的老板&#xff0c;你的公司使用多种金属来制造合金。现在共有 n 种不同类型的金属可以使用&#xff0c;并且你可以使用 k 台机器来制造合金。每台机器都需要特定数量的每种金属来创建合金。 对于第 i 台…

【word visio绘图】关闭visio两线交叉的跳线(跨线)

【visio绘图】关闭visio两线交叉的跳线&#xff08;跨线&#xff09; 1 如何在Visio绘图中关闭visio两线交叉的跳线&#xff08;跨线&#xff09;第一步&#xff1a;打开Visio并创建您的图形第二步&#xff1a;绘制您的连接线第三步&#xff1a;关闭跳线第四步&#xff1a;手动…