leetcode 剑指offer 55
法一:层序遍历,按广度优先搜索做,代码略
法二:递归,深度优先搜索。
函数返回输入节点的最大深度,如果是空节点则深度为0;如果为非空节点,检查是否有左右子树,有就接着往下探索并返回当前节点的深度,没有则为0.代码如下
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def maxDepth(self, root: TreeNode) -> int:
if not root:
return 0
l,r = 0,0
if root.left:
l = self.maxDepth(root.left)
if root.right:
r = self.maxDepth(root.right)
return max(l,r) + 1



