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 解题笔记