如果你想在校招中顺利拿到更好的offer,阿秀建议你多看看前人的经验 ,比如准备简历实习上岸经历校招总结阿里、字节、腾讯、美团等一二线大厂真实面经也欢迎来一起参加秋招打卡活动 等;如果你是计算机小白,学习/转行/校招路上感到迷茫或者需要帮助,可以点此联系阿秀;免费分享阿秀个人学习计算机以来的收集到的好资源,点此白嫖;如果你需要《阿秀的学习笔记》网站中求职相关知识点的PDF版本的话,可以点此下载

# 面试题55 - I. 二叉树的深度

力扣网原题链接 (opens new window)

输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。

例如:

给定二叉树 [3,9,20,null,null,15,7]

    3
   / \
  9  20
    /  \
   15   7
1
2
3
4
5

返回它的最大深度 3 。

提示:

  1. 节点总数 <= 10000

注意:本题与主站 104 题相同:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/

# 1、自己写的,算是递归调用吧

执行用时 :4 ms, 在所有 C++ 提交中击败了99.36%的用户

内存消耗 :20.8 MB, 在所有 C++ 提交中击败了100.00%的用户

class Solution {
public:
    int maxDepth(TreeNode* root) {

		if (!root ) return 0;
		if (root->left && root->right) return 1+max(maxDepth(root->right),maxDepth(root->left));
		if (!root->left) return 1+ maxDepth(root->right);
		else return 1+maxDepth(root->left);
    }
};
1
2
3
4
5
6
7
8
9
10