# [104. Maximum Depth of Binary Tree](https://leetcode.com/problems/maximum-depth-of-binary-tree/) ## 题目 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. ## 题目大意 要求输出一棵树的最大高度。 ## 解题思路 这一题递归遍历就可,遍历根节点的左孩子的高度和根节点右孩子的高度,取出两者的最大值再加一即为总高度。 ## 代码 ```go 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 } ```