zoukankan      html  css  js  c++  java
  • Clone Graph

    Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors.

     1 /**
     2  * Definition for undirected graph.
     3  * struct UndirectedGraphNode {
     4  *     int label;
     5  *     vector<UndirectedGraphNode *> neighbors;
     6  *     UndirectedGraphNode(int x) : label(x) {};
     7  * };
     8  */
     9 class Solution{
    10 public:
    11     UndirectedGraphNode* cloneGraph(UndirectedGraphNode* node){
    12         unordered_map<UndirectedGraphNode*, UndirectedGraphNode*> record;
    13         if(!node)
    14             return node;
    15         queue<UndirectedGraphNode*> queue;
    16         queue.push(node);
    17         while(!queue.empty()){
    18             UndirectedGraphNode* nextNode = queue.front();
    19             queue.pop();
    20             if(!record.count(nextNode)){
    21                 UndirectedGraphNode* newNode = 
    22                     new UndirectedGraphNode(nextNode->label);
    23                 record[nextNode] = newNode;
    24             }
    25             for(int i=0;i<nextNode->neighbors.size();i++){
    26                 UndirectedGraphNode* childNode = nextNode->neighbors[i];
    27                 if(!record.count(childNode)){
    28                     UndirectedGraphNode* newNode = 
    29                         new UndirectedGraphNode(childNode->label);
    30                     record[childNode] = newNode;
    31                     queue.push(childNode);
    32                 }
    33                 record[nextNode]->neighbors.push_back(record[childNode]);
    34             }
    35         }
    36         return record[node];
    37     }
    38 };
  • 相关阅读:
    python实现对单机游戏内存修改
    python_turtle模板画图
    Android向Rest服务Post数据遇到的Date类型数据问题
    Jquery根据字段内容设置字段宽度
    LLVM安装
    impala编译
    JS一些简单的问题
    小三角形的制作方法
    js中的一些简单问题
    另一部分页面
  • 原文地址:https://www.cnblogs.com/wxquare/p/4966222.html
Copyright © 2011-2022 走看看