104. Maximum Depth of Binary Tree #
Problem #
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.
Problem Summary #
Output the maximum height of a tree.
Solution Approach #
This problem can be solved with recursive traversal. Traverse the height of the root node’s left child and the height of the root node’s right child, take the maximum of the two, and then add one to get the total height.
Code #
package leetcode
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func maxDepth(root *TreeNode) int {
if root == nil {
return 0
}
return max(maxDepth(root.Left), maxDepth(root.Right)) + 1
}