题目
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。
输入
给定二叉树 [3,9,20,null,null,15,7]
输出
最大深度 3 。
解法
对树的中序遍历进行修改
class Solution:
def maxDepth(self, root: TreeNode) -> int:
def dfs(root, depth):
if not root:
return
dfs(root.left, depth + 1)
if depth > self.maxdep:
self.maxdep = depth
dfs(root.right, depth + 1)
if not root:
return 0
self.maxdep = 0
dfs(root, 1)
return self.maxdep