zoukankan      html  css  js  c++  java
  • Clone Graph

    BFS 用hashmap记录对应关系

     1 public class Solution {
     2     public UndirectedGraphNode cloneGraph(UndirectedGraphNode node) {
     3         // IMPORTANT: Please reset any member data you declared, as
     4         // the same Solution instance will be reused for each test case.
     5         if(node == null)
     6             return null;
     7         LinkedList<UndirectedGraphNode> queue = new LinkedList<UndirectedGraphNode>();
     8         Map<UndirectedGraphNode, UndirectedGraphNode> mymap = new HashMap<UndirectedGraphNode, UndirectedGraphNode>();
     9         UndirectedGraphNode head = new UndirectedGraphNode(node.label);
    10         queue.add(node);
    11         mymap.put(node, head);
    12         while(!queue.isEmpty())
    13         {
    14             UndirectedGraphNode nodeinqueue = queue.poll();
    15             for(UndirectedGraphNode i:nodeinqueue.neighbors)
    16             {
    17                 if(mymap.containsKey(i))
    18                     mymap.get(nodeinqueue).neighbors.add(mymap.get(i));
    19                 else
    20                 {
    21                     UndirectedGraphNode tmp = new UndirectedGraphNode(i.label);
    22                     mymap.get(nodeinqueue).neighbors.add(tmp);
    23                     mymap.put(i, tmp);
    24                     queue.add(i);
    25                 }
    26             }
    27         }
    28         return head;
    29     }
    30 }
  • 相关阅读:
    BZOJ 4525 二分
    BZOJ 4565 状压DP
    BZOJ 3930 容斥原理
    BZOJ 4562 搜索...
    BZOJ 4563 错排+高精度
    BZOJ 1833 数位DP
    BZOJ 4517 组合数+错排
    python 入门学习(二)
    python 入门学习
    Python 爬虫
  • 原文地址:https://www.cnblogs.com/jasonC/p/3417365.html
Copyright © 2011-2022 走看看