程序员面试宝典 第5版 树与图

2018/01/22 刷题 刷题 Java Tree
  本文为「原创」内容,如需转载请注明出处!             
本文共 723 字,需 9 分钟阅读
数据结构
class BinTree {
    public Object data;
    public BinTree left;
    public BinTree right;
}
第 1 题

现一个函数检查一颗二叉树是否平衡

public class TreeAndGraph{
    /**
    * 第 4.1 题,检查一颗二叉树是否平衡
    */
    public static boolean isAVL(BinTree root) {
        if (root == null) {
            return true;
        }
        int hightDiff = getTreeHight(root.left) - getTreeHight(root.right);
        if(hightDiff > 1 || hightDiff < -1){
            return false;
        }
        return isAVL(root.left) && isAVL(root.right);
    }

    /**
        * 获取树的深度
        */
    public static int getTreeHight(BinTree node) {
        if (node == null)
            return 0;
        return Math.max(getTreeHight(node.left), getTreeHight(node.right)) + 1;
    }
}

搜索

    文章目录