代码随想录——平衡二叉树(Leetcode110)

news/2024/11/15 7:06:05/

题目链接
在这里插入图片描述

后序遍历高度,高度判断是否平衡
前序遍历深度

递归

java">/*** 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) {if(root == null){return true;}return getHeight(root) == -1 ? false : true;}// -1表示已经不是平衡二叉树了,否则返回值是以该节点为根节点树的高度public int getHeight(TreeNode root){if(root == null){return 0;}int lh = getHeight(root.left);if(lh == -1){return -1;}int rh = getHeight(root.right);if(rh == -1){return -1;}// 判断当前传入节点为根节点的二叉树是否为平衡二叉树:求左子树与右子树高度差值绝对值 <= 则为平衡二叉树int res;if(Math.abs(lh - rh) > 1){res = -1;}else{res = 1 + Math.max(lh,rh);}return res;}
}

http://www.ppmy.cn/news/1462668.html

相关文章

2024-5-24 石群电路-15

2024-5-24&#xff0c;星期五&#xff0c;22:15&#xff0c;天气&#xff1a;晴&#xff0c;心情&#xff1a;晴。今天最后一天上班&#xff0c;终于要放返校假啦&#xff0c;开心&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;不过放假也不能耽误…

Python 魂斗罗的音效和动漫效果

一、实现游戏音效 音效是游戏中不可或缺的一部分&#xff0c;它可以为游戏增添氛围和趣味性。在 Pygame 中&#xff0c;我们可以使用 pygame.mixer 模块来播放音效。下面是一个简单的示例代码&#xff0c;演示如何在游戏中播放音效&#xff1a; import pygamepygame.mixer.init…

Nginx如何禁止某个目录及子目录运行php文件

一、传统的方式 location ~* ^/(runtime|uploads|static|template|html)/.*.(php|php5|php7)$ {deny all; }这样只能防止指定目录运行php&#xff0c;如&#xff1a; html目录下&#xff0c;而html的子目录并没有并限制。 二、限制目录及子目录 location ~* ^/uploads(/.*\.p…

百兆宽带能用千兆路由嘛?

前言 前段时间小白被粉丝问愣住了&#xff0c;他说他家的宽带是百兆的&#xff0c;千兆路由是不是不能使用&#xff1f; 顿时小白就蚌埠住了…… 是不是也有很多小伙伴有同样的问题&#xff1f;嗯&#xff0c;我想这个必须有。 毕竟存在即是合理&#xff5e; 但这个问题其实…

查看gpu

## 查看gpu信息 if_cuda torch.cuda.is_available() print("if_cuda",if_cuda)gpu_count torch.cuda.device_count() print("gpu_count",gpu_count)

Java技术精粹:高级面试问题与解答指南(二)

Java面试问题及答案 1. 什么是Java中的集合框架&#xff1f;请简述其主要接口和类。 答案&#xff1a; Java中的集合框架是一个设计用来存储和操作大量数据的统一架构。它主要由以下几个接口及其实现类组成&#xff1a; Collection: 它是最基本的集合接口&#xff0c;所有单列…

vue期末复习选择题4

1. 有如下vue组件&#xff0c;实现一个简易计算器&#xff1a; <template><input type"text" _____(1)_____><select _____(2)_____><option value""></option><option value"-">-</option><opti…

Qt编译和使用freetype矢量字库方法

在之前讲过QT中利用freetype提取字库生成图片的方法&#xff1a; #QT利用freetype提取字库图片_qt freetype-CSDN博客文章浏览阅读1.2k次。这是某个项目中要用到的片段&#xff0c;结合上一篇文章#QT从字体名获取字库文件路径使用// 保存位图int SaveBitmapToFile(HBITMAP hBi…