马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
二叉树的最大深度
给定一个二叉树 root ,返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
示例 1:
- <strong>输入:</strong>root = [3,9,20,null,null,15,7]
- <strong>输出:</strong>3
复制代码 示例 2:
- <strong>输入:</strong>root = [1,null,2]
- <strong>输出:</strong>2
复制代码 提示:
- 树中节点的数量在 [0, 104] 区间内。
- -100 <= Node.val <= 100
从前本科数据布局做过,感觉递归照旧奇妙啊
- class Solution:
- def maxDepth(self, root: Optional[TreeNode]) -> int:
- if root == None:return 0
- high = 0
- def dfs(root):
- if root == None:return 0
- if root.left ==None and root.right == None:return 1
- return max(dfs(root.left),dfs(root.right))+1
- return dfs(root)
复制代码 然后看了看k神的题解,发现考虑是否有左右孩子节点的谁人if没有须要...
- # Definition for a binary tree node.
- # class TreeNode:
- # def __init__(self, val=0, left=None, right=None):
- # self.val = val
- # self.left = left
- # self.right = right
- class Solution:
- def maxDepth(self, root: Optional[TreeNode]) -> int:
- if root == None:return 0
- if root.left==None and root.right==None:return 1
- return max(self.maxDepth(root.left),self.maxDepth(root.right))+1
复制代码 而且也不需要再内置一个函数了...
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |