Diameter of Binary Tree

Posted 唐僧洗发爱飘柔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Diameter of Binary Tree相关的知识,希望对你有一定的参考价值。

    这道题为简单题

  题目:

 

    

  思路:

    利用递归。把大问题化小,算每个节点的的左右子树的深度并得到该节点的最大长度self.sum,然后返回该节点左右子树中的最大深度加1

  代码:

 

 1 # Definition for a binary tree node.
 2 # class TreeNode(object):
 3 #     def __init__(self, x):
 4 #         self.val = x
 5 #         self.left = None
 6 #         self.right = None
 7 
 8 class Solution(object):
 9     def diameterOfBinaryTree(self, root):
10         """
11         :type root: TreeNode
12         :rtype: int
13         """
14         self.sum = 1
15         def abc(root):
16             if not root: return 0
17             long_l = abc(root.left)
18             long_r = abc(root.right)
19             self.sum = max(self.sum, long_r + long_l + 1)
20             return 1 + max(long_l, long_r)
21             
22             
23         abc(root)
24         return self.sum - 1

 

    

以上是关于Diameter of Binary Tree的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode题解之Diameter of Binary Tree

LeetCode 543. Diameter of Binary Tree 解题笔记

LeetCode 543. Diameter of Binary Tree 解题笔记

Diameter of Binary Tree

543. Diameter of Binary Tree

543. Diameter of Binary Tree