博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
平衡二叉树
阅读量:2350 次
发布时间:2019-05-10

本文共 570 字,大约阅读时间需要 1 分钟。

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

思路:后续遍历二叉树,同时得到子树的深度,判断子树的深度是否满足平衡条件即可

public class Solution {   //后续遍历时,遍历到一个节点,其左右子树已经遍历  依次自底向上判断,每个节点只需要遍历一次    private boolean isBalanced=true;    public boolean IsBalanced_Solution(TreeNode root) {             getDepth(root);        return isBalanced;    }    public int getDepth(TreeNode root){        if(root==null)            return 0;        int left=getDepth(root.left);        int right=getDepth(root.right);          if(Math.abs(left-right)>1){            isBalanced=false;        }        return right>left ?right+1:left+1;    }}

转载地址:http://dlmvb.baihongyu.com/

你可能感兴趣的文章
linux下线程调试 ulimit core
查看>>
linux 知识点拾遗
查看>>
java equal和==的区别
查看>>
c++中static的用法总结
查看>>
const的常见用法
查看>>
crontab使用手册
查看>>
虚继承与虚基类的本质
查看>>
函数式编程
查看>>
GitHub上整理的一些工具
查看>>
python range 与xrange的区别
查看>>
算法-最长递增子序列
查看>>
最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离
查看>>
回文字符序列
查看>>
inline函数必须在头文件中定义吗?
查看>>
内存泄漏检查工具valgrind使用方法
查看>>
Solution of Codility
查看>>
java解析XML的四种方式及比较
查看>>
单例模式(java)详细
查看>>
策略模式(java)
查看>>
java线程中信号量Semaphore类的应用
查看>>