LeetCode 热题100-37 二叉树的最大深度

打印 上一主题 下一主题

主题 1666|帖子 1666|积分 5000

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
二叉树的最大深度
给定一个二叉树 root ,返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
示例 1:



  1. <strong>输入:</strong>root = [3,9,20,null,null,15,7]
  2. <strong>输出:</strong>3
复制代码
示例 2:
  1. <strong>输入:</strong>root = [1,null,2]
  2. <strong>输出:</strong>2
复制代码
提示:


  • 树中节点的数量在 [0, 104] 区间内。
  • -100 <= Node.val <= 100
从前本科数据布局做过,感觉递归照旧奇妙啊
  1. class Solution:
  2.     def maxDepth(self, root: Optional[TreeNode]) -> int:
  3.         if root == None:return 0
  4.         high = 0
  5.         def dfs(root):
  6.             if root == None:return 0
  7.             if root.left ==None and root.right == None:return 1
  8.             return max(dfs(root.left),dfs(root.right))+1
  9.         return dfs(root)
复制代码
然后看了看k神的题解,发现考虑是否有左右孩子节点的谁人if没有须要...
  1. # Definition for a binary tree node.
  2. # class TreeNode:
  3. #     def __init__(self, val=0, left=None, right=None):
  4. #         self.val = val
  5. #         self.left = left
  6. #         self.right = right
  7. class Solution:
  8.     def maxDepth(self, root: Optional[TreeNode]) -> int:
  9.         if root == None:return 0
  10.         if root.left==None and root.right==None:return 1
  11.         return max(self.maxDepth(root.left),self.maxDepth(root.right))+1
复制代码
而且也不需要再内置一个函数了...

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

拉不拉稀肚拉稀

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表