#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;        }    }}

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

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

标签: Java教程Java基础Java编程技巧面试题Java面试题