题目描述:(链接)
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.
解题思路:
递归, 深度优先算法!
1 class Solution { 2 public: 3 int maxDepth(TreeNode* root) { 4 if (root == NULL) { 5 return 0; 6 } 7 8 if (root->left == NULL && root->right == NULL) { 9 return 1; 10 } 11 12 int leftDepth = maxDepth(root->left) + 1; 13 int rightDepth = maxDepth(root->right) + 1; 14 return leftDepth > rightDepth? leftDepth : rightDepth; 15 } 16 };