leetcode_c++:图:Minimum Height Trees(310)

原创 2016年08月28日 15:14:25
class Solution {
public:
    vector<int> findMinHeightTrees(int n, vector<pair<int, int>>& edges) {
        //corner case
        if ( n <= 1 ) return {0};

        //construct a edges search data stucture
        vector<unordered_set<int>> graph(n);
        for (auto e : edges) {
            graph[e.first].insert(e.second);
            graph[e.second].insert(e.first);
        }

        //find all of leaf nodes
        vector<int> current;
        for (int i=0; i<graph.size(); i++){
            if (graph[i].size() == 1)  current.push_back(i);
        }

        // BFS the graph
        while (true) {
            vector<int> next;
            for (int node : current) {
                for (int neighbor : graph[node]) {
                    graph[neighbor].erase(node);
                    if (graph[neighbor].size() == 1) next.push_back(neighbor);
                }
            }
            if (next.empty()) break;
            current = next;
        }
        return current;
    }

};
版权声明:本文为博主原创文章,未经博主允许不得转载。

[LeetCode 310] Minimum Height Trees

For a undirected graph with tree characteristics, we can choose any node as the root. The result gra...
  • sbitswc
  • sbitswc
  • 2015年12月28日 06:26
  • 3806

LeetCode 310. Minimum Height Trees(最小高度树)

原题网址:https://leetcode.com/problems/minimum-height-trees/ For a undirected graph with tree characte...
  • jmspan
  • jmspan
  • 2016年04月21日 06:51
  • 731

leetcode Minimum Height Trees

For a undirected graph with tree characteristics, we can choose any node as the root. The result gra...
  • murmured
  • murmured
  • 2015年11月26日 20:49
  • 1912

310 Minimum Height Trees(Medium)

转自个人博客:http://siukwan.sinaapp.com/?p=189 1.这道题目主要是求一个无向图中,以哪个节点为根节点的树的高度最小; 2.常规方法可以使用BFS或者DFS...
  • jmlikun
  • jmlikun
  • 2015年11月30日 18:06
  • 1338

310. Minimum Height Trees(BFS)

1. 题目描述 For a undirected graph with tree characteristics, we can choose any node as the root. The r...
  • w_bu_neng_ku
  • w_bu_neng_ku
  • 2018年01月07日 20:43
  • 85

Minimum Height Trees | LeetCode

For a undirected graph with tree characteristics, we can choose any node as the root. The result gra...
  • jiangbo1017
  • jiangbo1017
  • 2015年11月30日 14:38
  • 886

LeetCode 310 minimum height trees

本题采用的思路是不断地逐层的删除叶子节点,从而最后只剩下子节点的方法。本题的结果最后只能是有一个最小根节点或者两个,不可能有三个的情况存在。 首先,我们将所有的节点的入度统计到表nums中,后用队列q...
  • weixin_40574455
  • weixin_40574455
  • 2017年10月24日 14:47
  • 16

leetcode 310 : Minimum Height Trees

1、原题如下: For a undirected graph with tree characteristics, we can choose any node as the root. The ...
  • l3368bcttqnqn
  • l3368bcttqnqn
  • 2015年12月03日 16:37
  • 306

leetcode(310). Minimum Height Trees

problem For a undirected graph with tree characteristics, we can choose any node as the root. T...
  • PKU_Jade
  • PKU_Jade
  • 2017年08月23日 20:11
  • 75

Leetcode 310 Minimum Height Trees

最近在刷leetcode了。。都是medium和easy。。 今天第一次碰到树遍历的题目。。超时了 310. Minimum Height Trees public List findM...
  • qq_27262609
  • qq_27262609
  • 2017年03月01日 11:00
  • 159
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode_c++:图:Minimum Height Trees(310)
举报原因:
原因补充:

(最多只允许输入30个字)