JAVA二叉树平衡检测

    xiaoxiao2021-03-25  82

    public static int TreeDepth(TreeNode treeNode){ int ld = 0; int rd = 0; if (treeNode.leftNode != null) { ld = TreeDepth(treeNode.leftNode); } if (treeNode.rightNode != null) { rd = TreeDepth(treeNode.rightNode); } return ld > rd ? (ld+1):(rd+1); } public static boolean IsVal(TreeNode treeNode) { int ld = 0; int rd = 0; if (treeNode.leftNode != null) { ld = TreeDepth(treeNode.leftNode); System.out.println(ld); } else{ return true; } if (treeNode.rightNode != null) { rd = TreeDepth(treeNode.rightNode); System.out.println(rd); } else{ return true; } return (Math.abs(ld - rd) <= 1) && IsVal(treeNode.leftNode) && IsVal(treeNode.rightNode); }
    转载请注明原文地址: https://ju.6miu.com/read-33025.html

    最新回复(0)