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.
对于给定的1个结点,如果不为空,那么depth就为1。
然后需要遍历左右子结点,分别得到depth,并且取其中较大的值。
只要左右子结点,有一个不为空,那就递归遍历。
public int MaxDepth(TreeNode root) { int depth; if (root == null) { depth = 0; } else { depth = 1; TreeNode left = root.left; TreeNode right = root.right; if (left != null || right != null) { int leftDepth = MaxDepth(left); int rightDepth = MaxDepth(right); depth = depth + Math.Max(leftDepth, rightDepth); } } return depth; }