104. Maximum Depth of Binary Tree
Easy
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
Note: A leaf is a node with no children.
Example:
Given binary tree [3,9,20,null,null,15,7]
,
3 / 9 20 / 15 7
return its depth = 3.
package leetcode.easy; /** * Definition for a binary tree node. public class TreeNode { int val; TreeNode * left; TreeNode right; TreeNode(int x) { val = x; } } */ public class MaximumDepthOfBinaryTree { public int maxDepth(TreeNode root) { if (null == root) { return 0; } else if (null == root.left) { return 1 + maxDepth(root.right); } else if (null == root.right) { return 1 + maxDepth(root.left); } else { return 1 + Math.max(maxDepth(root.left), maxDepth(root.right)); } } @org.junit.Test public void test() { TreeNode tn11 = new TreeNode(3); TreeNode tn21 = new TreeNode(9); TreeNode tn22 = new TreeNode(20); TreeNode tn33 = new TreeNode(15); TreeNode tn34 = new TreeNode(7); tn11.left = tn21; tn11.right = tn22; tn21.left = null; tn21.right = null; tn22.left = tn33; tn22.right = tn34; tn33.left = null; tn33.right = null; tn34.left = null; tn34.right = null; System.out.println(maxDepth(tn11)); } }