题意
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度,根节点的深度视为 1 。
思路
递归
:仅需考虑边界条件,剩下的交给递归调用的函数;
边界条件:
- 节点为空时返回
0
; - 节点不为空时返回
1+左右子树的最大高度
。
代码
class Solution:
def TreeDepth(self , pRoot: TreeNode) -> int:
# write code here
if not pRoot:
return 0
return 1 + max(self.TreeDepth(pRoot.left),self.TreeDepth(pRoot.right))