104. 二叉树的最大深度

给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。

解题思路

递归:
某结点的最大高度是其左子树和右子树的最大高度二者中的最大值,再加1。即 max(maxDepth(root>left),maxDepth(root->right)) + 1;**

  1. class Solution {
  2. public:
  3. int maxDepth(TreeNode* root) {
  4. if(root == NULL)
  5. return 0;
  6. return max(maxDepth(root->left),maxDepth(root->right)) + 1;
  7. }
  8. };