美文网首页
LeetCode-python 133. 克隆图

LeetCode-python 133. 克隆图

作者: wzNote | 来源:发表于2022-11-17 00:11 被阅读0次

题目链接

难度:中等       类型: bfs


给你无向 **连通 **图中一个节点的引用,请你返回该图的 深拷贝(克隆)。

图中的每个节点都包含它的值 valint) 和其邻居的列表(list[Node])。

class Node {
public int val;
public List<Node> neighbors;
}

示例

输入:adjList = [[2,4],[1,3],[2,4],[1,3]]
输出:[[2,4],[1,3],[2,4],[1,3]]
解释:
图中有 4 个节点。
节点 1 的值是 1,它有两个邻居:节点 2 和 4 。
节点 2 的值是 2,它有两个邻居:节点 1 和 3 。
节点 3 的值是 3,它有两个邻居:节点 2 和 4 。
节点 4 的值是 4,它有两个邻居:节点 1 和 3 。

解题思路


代码实现

class Solution:
 
    def cloneGraph(self, node: 'Node') -> 'Node':
        if not node:
            return node

        queue = [node]
        visited ={}
        visited[node] = Node(node.val, [])

        while queue:
            i = queue.pop(0)
 
            for neighbor in i.neighbors:
                if neighbor not in visited:
                    visited[neighbor] = Node(neighbor.val, [])
                    queue.append(neighbor)
                visited[i].neighbors.append(visited[neighbor])
 
        return visited[node]

相关文章

  • LeetCode-python 133. 克隆图

    题目链接[https://leetcode.cn/problems/clone-graph] 难度:中等 ...

  • Leetcode图

    133. 克隆图[https://leetcode-cn.com/problems/clone-graph/] 2...

  • LeetCode 133. 克隆图 | Python

    133. 克隆图 题目来源:力扣(LeetCode)https://leetcode-cn.com/problem...

  • LC吐血整理之Graph篇

    所有题解方法请移步 github-Leecode_summary 133. 克隆图 DFS&BFS 有整理过对象赋...

  • LeetCode 力扣 133. 克隆图

    题目描述(中等难度) 复制一个图,图的节点定义如下。 neighbors 是一个装 Node 的 list ,因为...

  • python实现leetcode之133. 克隆图

    解题思路 使用缓存记住已经计算过的,避免同一个对象拷贝多次然后递归处理邻接节点最后返回入口节点 133. 克隆图[...

  • 克隆图

    给定无向连通图中一个节点的引用,返回该图的深拷贝(克隆)。图中的每个节点都包含它的值 val(Int) 和其邻居的...

  • 克隆图

    给定无向连通图中一个节点的引用,返回该图的深拷贝(克隆)。图中的每个节点都包含它的值 val(Int) 和其邻居的...

  • 大连滕泰科技学习笔记2020-06-08

    1,项目组8 1,1 什么是深克隆?1,2 深克隆的内存图?1,3 深克隆案例1,4 深克隆解决问题的核心思想?原...

  • Tomcat启动时序图

    本人整理的Tomcat启动时序图,有需要原图的可以登录ProcessOn进行克隆,克隆地址为:https://ww...

网友评论

      本文标题:LeetCode-python 133. 克隆图

      本文链接:https://www.haomeiwen.com/subject/otiuxdtx.html