剑指 Offer 55 - I. 二叉树的深度
计算树的深度
题目链接-来源:力扣(LeetCode)
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。
例如:
给定二叉树 [3,9,20,null,null,15,7],
3
/
9 20
/
15 7
返回它的最大深度 3 。
思路:
寻找深度,即可利用「深度优先搜索」DFS,递归地返回 「两子树深度最大值」+ 1 的结果即可。递归跳出条件是 节点为 null 时返回 0。
对于树而言,DFS 即 先序遍历、中序遍历、后序遍历中的任意一种。
时间复杂度:O(n)
空间复杂度:O(n)
实现:
1 | class Solution { |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.