1
var findMinHeightTrees = function (n, edges) {4
if (n === 1) return [0];7
let indegree = Array(n).fill(0);11
for (let [v, e] of edges) {12
//as this is undirected graph we will build indegree for both e and v13
if (!(v in graph)) graph[v] = [];14
if (!(e in graph)) graph[e] = [];21
// get all nodes with indegree 122
for (let i = 0; i < indegree.length; i++) {23
if (indegree[i] === 1) leaves.push(i);29
let size = leaves.length;30
// as we are removing nodes from our total33
for (let i = 0; i < size; i++) {34
let vertex = leaves.shift();35
for (let edge of graph[vertex]) {37
if (indegree[edge] === 1) leaves.push(edge);