zoukankan      html  css  js  c++  java
  • leetcode 543. 二叉树的直径

    给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。
    
    示例 :
    给定二叉树
    
              1
             / 
            2   3
           /      
          4   5    
    返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。
    
    注意:两结点之间的路径长度是以它们之间边的数目表示。
    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution:
        def diameterOfBinaryTree(self, root):
            """
            :type root: TreeNode
            :rtype: int
            """
            self.s=0
            self.getDeep(root)
            return self.s
        def getDeep(self,root):
            if not root:
                return 0
            left= self.getDeep(root.left)
            right= self.getDeep(root.right)
            self.s=max(self.s,left+right)
            return max(left,right)+1
  • 相关阅读:
    python2和python3的区别
    星球大战
    [USACO]高低卡(金)High Card Low Card (Gold)
    学习笔记
    叶子的染色
    大问题
    ...
    考试前...
    [HAOI2010]计数
    [POI2006]OKR-Periods of Words
  • 原文地址:https://www.cnblogs.com/Lynwood/p/9614634.html
Copyright © 2011-2022 走看看