zoukankan      html  css  js  c++  java
  • leetcode------Clone Graph

    标题: Clone Graph
    通过率: 23.7%
    难度: 中等
    OJ's undirected graph serialization:

    Nodes are labeled uniquely.

    We use # as a separator for each node, and , as a separator for node label and each neighbor of the node.

    As an example, consider the serialized graph {0,1,2#1,2#2,2}.

    The graph has a total of three nodes, and therefore contains three parts as separated by #.

    1. First node is labeled as 0. Connect node 0 to both nodes 1 and 2.
    2. Second node is labeled as 1. Connect node 1 to node 2.
    3. Third node is labeled as 2. Connect node 2 to node 2 (itself), thus forming a self-cycle.

    Visually, the graph looks like the following:

           1
          / 
         /   
        0 --- 2
             / 
             \_/
    
    本题这样出没有什么意义,上面解释一堆再代码里面根本没有显示,直接出图的遍历顺序会好一点。直接看代码
     1 # Definition for a undirected graph node
     2 # class UndirectedGraphNode:
     3 #     def __init__(self, x):
     4 #         self.label = x
     5 #         self.neighbors = []
     6 
     7 class Solution:
     8     # @param node, a undirected graph node
     9     # @return a undirected graph node
    10     def cloneGraph(self, node):
    11         if node == None: return None
    12         nodeMap={}
    13         return self.cloneNode(node,nodeMap)
    14     
    15     
    16     def cloneNode(self,node,nodeMap):
    17         if node == None:return None
    18         if nodeMap.has_key(node):
    19             return nodeMap[node]
    20         else :
    21             clone =UndirectedGraphNode(node.label)
    22             nodeMap[node]=clone
    23             for nei in node.neighbors:
    24                 clone.neighbors.append(self.cloneNode(nei,nodeMap))
    25         return clone
  • 相关阅读:
    grid与oracle用户下oracle程序权限不一致导致无法连接ASM问题
    错误ORA-29760: instance_number parameter not specified的解决办法
    window phone webclient xml 乱码解决方法
    谈谈layout-weight
    状态栏更改颜色
    android 顶部导航栏
    android 布局抽取优化
    Kotlin版HelloWorld
    浅谈synchronized作用
    android获取Tomcat的JSON数据
  • 原文地址:https://www.cnblogs.com/pkuYang/p/4419592.html
Copyright © 2011-2022 走看看