继续刷题, Python用递归实现求二叉树深度。
其实就是求二叉树层级,比如一个单点就是一层,一个单点加左右两个叶子节点就是两层。
其实二叉树问题用递归来求是比较快的。这个也是介绍的默认递归方法,就是如有子节点,递归,直到没有子节点为止。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 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 root = = None :
return 0
else :
leftDepth = self .maxDepth(root.left)
rightDepth = self .maxDepth(root.right)
return max (leftDepth,rightDepth) + 1
|