#yyds干货盘点# LeetCode程序员面试金典:平衡二叉树

发布时间:2023-05-23 09:24:50

题目:

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

在这个问题中,一棵高度平衡的二叉树被定义为:

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

示例 1:

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

输出:true

示例 2:

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

输出:false

示例 3:

输入:root = []

输出:true

代码实现:

class Solution {    public boolean isBalanced(TreeNode root) {        if (root == null) {            return true;        } else {            return Math.abs(height(root.left) - height(root.right)) <= 1 && isBalanced(root.left) && isBalanced(root.right);        }    }    public int height(TreeNode root) {        if (root == null) {            return 0;        } else {            return Math.max(height(root.left), height(root.right)) + 1;        }    }}

ps 图灵课堂老师从近一百套最新一线互联网公司面试题中精选而出,涵盖Java架构面试 所有技术栈,包括JVM,Mysql,并发,Spring,Redis,MQ,Zookeeper,Netty, Dubbo,Spring Boot,Spring Cloud,数据结构与算法,设计模式等相关技术领域的大 厂面试题及详解。 详情咨询客服获取全套面经试题。

上一篇 #yyds干货盘点# LeetCode程序员面试金典:分数到小数
下一篇 Java编程之抽象方法

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: