1. 程式人生 > 其它 >543、二叉樹的直徑

543、二叉樹的直徑

技術標籤:LeetCode解題

543、二叉樹的直徑

題目:

給定一棵二叉樹,你需要計算它的直徑長度。一棵二叉樹的直徑長度是任意兩個結點路徑長度中的最大值。這條路徑可能穿過也可能不穿過根結點。

示例 :
給定二叉樹

          1
         / \
        2   3
       / \     
      4   5    

返回 3, 它的長度是路徑 [4,2,1,3] 或者 [5,2,1,3]。

**注意:**兩結點之間的路徑長度是以它們之間邊的數目表示。

解答:

int result;
public int DiameterOfBinaryTree
(TreeNode root) { DFS(root); return result; } private int DFS(TreeNode node) { //老方法,遍歷然後根據返回的數字進行比較大小 if (node == null) return 0; int left = DFS(node.left); int right = DFS(node.right); result = Math.Max(result, left + right); return Math.Max(left, right) + 1; }