给定一棵二叉树,找出它的最大深度

给定一棵二叉树,找出它的最大深度。
最大深度是从根节点到最远叶节点的最长路径上的节点数。
Example:
二叉树: [3,9,20,null,null,15,7],
给定一棵二叉树,找出它的最大深度_第1张图片

return its depth = 3.

Java代码实现如下:

package leetcode;

/**
 * 计算二叉树的最大深度
 */
public class MaximumDepthBinaryTree {

    public static int maxDepth(TreeNode root) {
        int depth = 0;
        if (root != null) {
            depth = 1 + Math.max(maxDepth(root.left), maxDepth(root.right));
        }
        return depth;
    }

    public static void main(String[] args) {
        TreeNode root = new TreeNode(3);
        TreeNode t1 = new TreeNode(9);
        TreeNode t2 = new TreeNode(20);
        TreeNode t3 = new TreeNode(15);
        TreeNode t4 = new TreeNode(7);
        t2.left = t3;
        t2.right = t4;
        root.left = t1;
        root.right = t2;
        System.out.println(maxDepth(root));
    }

}
 class TreeNode {
      int val;
      TreeNode left;
      TreeNode right;
      TreeNode(int x) { val = x; }
  }

备注:博主微信公众号,不定期更新文章,欢迎扫码关注。
给定一棵二叉树,找出它的最大深度_第2张图片

你可能感兴趣的:(算法,Java)