码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode--104--二叉树的最大深度

时间:2018-09-07 20:44:59      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:最大   object   class   最长路   root   ==   tree   def   子节点   

问题描述:

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

示例:
给定二叉树 [3,9,20,null,null,15,7]

    3
   /   9  20
    /     15   7

返回它的最大深度 3 。

方法1:

 1 class Solution(object):
 2     def maxDepth(self, root):
 3         """
 4         :type root: TreeNode
 5         :rtype: int
 6         """
 7         if root == None:
 8             return 0
 9         def depth(self,root,ans):
10             if root == None:
11                 return ans
12             else:
13                 ans += 1    
14             ldepth = depth(self,root.left,ans)
15             rdepth = depth(self,root.right,ans)
16             if ldepth  > rdepth :
17                 return ldepth 
18             else:
19                 return rdepth
20         return depth(self,root,0) 

简体:

1 class Solution(object):
2     def maxDepth(self, root):
3         """
4         :type root: TreeNode
5         :rtype: int
6         """
7         if not root:
8             return 0
9         return max(self.maxDepth(root.left), self.maxDepth(root.right)) + 1

简体2:

 1 class Solution(object):
 2     @classmethod
 3     def maxDepth(self, root):
 4         if root == None:
 5             return 0
 6 
 7         left =  Solution.maxDepth(root.left) +1
 8         right =  Solution.maxDepth(root.right) +1
 9 
10         return max(left, right) 

递归取左右子树高度的较大者

2018-09-07 20:21:23

 

LeetCode--104--二叉树的最大深度

标签:最大   object   class   最长路   root   ==   tree   def   子节点   

原文地址:https://www.cnblogs.com/NPC-assange/p/9606854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!