Diameter of Binary Tree
来源:互联网 发布:discuz源码 编辑:程序博客网 时间:2024/06/05 23:02
Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a binary tree is the length of the longestpath between any two nodes in a tree. This path may or may not pass through the root.
Example:
Given a binary tree
1 / \ 2 3 / \ 4 5
Return 3, which is the length of the path [4,2,1,3] or [5,2,1,3].
Note: The length of path between two nodes is represented by the number of edges between them.
思路: 典型的post-order traversal tree. For each node, we need to count the max edges of left tree and right tree. Then , plus them and compare with the max edges.
易错:在null return时候要 return -1. 还有只能return 单边最多的。
Time: O(n) n is nodes. Space: O(lg n)
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public int diameterOfBinaryTree(TreeNode root) { if(root == null){ return 0; } int[] max = new int[1]; countHelper(root, max); return max[0]; } private int countHelper(TreeNode root, int[] max){ if(root == null){ return -1; } int leftMax = countHelper(root.left, max) + 1; int rightMax = countHelper(root.right, max) + 1; int edges = leftMax + rightMax; max[0] = Math.max(edges, max[0]); return Math.max(leftMax, rightMax); }}
0 0
- Diameter of Binary Tree
- Diameter of Binary Tree
- Diameter of Binary Tree
- Diameter of Binary Tree
- Diameter of Binary Tree
- 543. Diameter of Binary Tree
- 543. Diameter of Binary Tree
- 543. Diameter of Binary Tree
- 543. Diameter of Binary Tree
- 543. Diameter of Binary Tree
- LeetCode543. Diameter of Binary Tree
- 543. Diameter of Binary Tree
- 543. Diameter of Binary Tree
- 543. Diameter of Binary Tree
- 543. Diameter of Binary Tree
- 543. Diameter of Binary Tree
- 543. Diameter of Binary Tree
- 543. Diameter of Binary Tree
- sobel算法
- 接触 PL/SQL 第一天
- npm更新至最新版本
- 位运算简易讲解
- Hanoi Tower Problem
- Diameter of Binary Tree
- “玲珑杯”郑州轻工业学院第八届ACM程序设计大赛Problem G: 蛤玮点菜
- (gvim:7776): GLib-GObject-WARNING **
- spring一站式框架(dao层)
- (2) linux 3.x
- Ackerman函数
- 关于SQL数据库和NoSql数据库的数据库选择案例
- 团体程序设计天梯赛 L3-007. 天梯地图(dijkstral+记录所有最短路径)
- 《深入理解Java内存模型》读书总结