310 Minimum Height Trees
310. Minimum Height Trees
1. Question
For a undirected graph with tree characteristics, we can choose any node as the root. The result graph is then a rooted tree. Among all possible rooted trees, those with minimum height are called minimum height trees (MHTs). Given such a graph, write a function to find all the MHTs and return a list of their root labels.
Format
The graph containsn
nodes which are labeled from0
ton - 1
. You will be given the numbern
and a list of undirectededges
(each edge is a pair of labels).
You can assume that no duplicate edges will appear inedges
. Since all edges are undirected,[0, 1]
is the same as[1, 0]
and thus will not appear together inedges
.
Example 1:
Givenn = 4
,edges = [[1, 0], [1, 2], [1, 3]]
return[1]
Example 2:
Givenn = 6
,edges = [[0, 3], [1, 3], [2, 3], [4, 3], [5, 4]]
return[3, 4]
Note:
(1) According to the definition of tree on Wikipedia: “a tree is an undirected graph in which any two vertices are connected byexactlyone path. In other words, any connected graph without simple cycles is a tree.”
(2) The height of a rooted tree is the number of edges on the longest downward path between the root and a leaf.
2. Implementation
(1) BFS
3. Time & Space Complexity
BFS: 时间复杂度O(n), 空间复杂度O(n)
Last updated