面试题:平衡二叉树

Posted aaron12

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题:平衡二叉树相关的知识,希望对你有一定的参考价值。

题目描述:输入一棵二叉树,判断该二叉树是否是平衡二叉树。

思路:利用上一题求二叉树的深度

public class Solution {
    public boolean IsBalanced_Solution(TreeNode root) {
        if(root==null) return true;
        int left=depth(root.left);
        int right=depth(root.right);
        int balance=left-right;
        if(balance>1||balance<-1)
            return false;
        else
            return true;
    }
    public int depth(TreeNode root){
        if(root==null) return 0;
        int left=depth(root.left);
        int right=depth(root.right);
        return left>right?(left+1):(right+1);
    }
}

 

以上是关于面试题:平衡二叉树的主要内容,如果未能解决你的问题,请参考以下文章

面试题:平衡二叉树

每日一道面试题-平衡二叉树的判断

剑指Offer面试题55 - II. 平衡二叉树

程序员面试之必考题:平衡二叉树的基本概念

数据结构二叉树相关面试题 Java版 LeetCode题 ------- 二叉树

面试题28:对称的二叉树