二叉树的深度-Java

public class BinaryTreeDepth {
    /**
     * 递归思想: 如果一棵树只有一个节点,那么它的深度为1。如果有左子树和右子树,
     * 那么它的深度十左子树和右子树之间较大者的深度 再+1。
     *
     * @param node 根节点
     * @return 深度
     */
    public static int getDepth(TreeNode<Integer> node) {
        if (node == null) return 0;

        int left = getDepth(node.leftNode);
        int right = getDepth(node.rightNode);

        return (left > right) ? (left + 1) : (right + 1);
    }
}
public class TreeNode<T> {
    public T value;
    public TreeNode leftNode;
    public TreeNode rightNode;

    public TreeNode(T value) {
        this.value = value;
        leftNode = null;
        rightNode = null;
    }
}
    原文作者:IrishMan
    原文地址: https://www.jianshu.com/p/84c8c8bf646e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞