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

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

class Node {
public int val;
public List 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 {public Node cloneGraph(Node node) {if(node==null) return node;Queue<Node>queue=new LinkedList<>();Map<Integer,Node> map=new HashMap<>();queue.add(node);Node head=new Node(node.val,new ArrayList<>());map.put(node.val,head);while (!queue.isEmpty()){Node curO=queue.poll();for(Node next:curO.neighbors){if(map.containsKey(next.val))//节点已经新建了{map.get(curO.val).neighbors.add(map.get(next.val));//直接加入邻居节点}else{Node none=new Node(next.val,new ArrayList<>());//新建节点并且入队map.put(next.val,none);map.get(curO.val).neighbors.add(none);queue.add(next);}}}return head;}
}

leetcode133. 克隆图(bfs)相关推荐

  1. leetcode--133. 克隆图

    给定无向连通图中一个节点的引用,返回该图的深拷贝(克隆).图中的每个节点都包含它的值val(Int) 和其邻居的列表(list[Node]). 示例: 输入: {"$id":&qu ...

  2. 力扣133. 克隆图

    该题克隆图类似二叉树的遍历,是从根节点遍历叶节点. 复制思路:是dfs遍历原节点node,建立HashMap<Node,Node>原节点到克隆节点的映射,然后根据原节点,new出新节点,建 ...

  3. Leetcode 133.克隆图

    Time: 20190903 Type: Medium 题目描述 给定无向连通图中一个节点的引用,返回该图的深拷贝(克隆).图中的每个节点都包含它的值 val(Int) 和其邻居的列表(list[No ...

  4. 作文以记之 ~ 克隆图

    作文以记之 ~ 克隆图 0.前言 1.题目描述 2.解题思路 2.1 方法1 ~ 利用BFS 2.1.1 思路 2.1.2 程序代码 2.2 方法2 ~ 利用 DFS 2.2.1 思路 2.2.2 程 ...

  5. 图形结构:克隆图,图的遍历的应用,递归和迭代

    克隆一张无向图,图中的每个节点包含一个 label (标签)和一个 neighbors (邻接点)列表 . 克隆图时图的遍历的应用,树的遍历,图的遍历是最基本的操作,他们和数组的遍历是一样的,线性结构 ...

  6. 133. Clone Graph 克隆图

    给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆). 图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node]). class Node {public in ...

  7. CF-1209 F. Koala and Notebook(建图BFS)

    CF-1209 F. Koala and Notebook(建图BFS) 题目链接 题意 n个城市m个双向边,从点1可以到达任何点,把点1到到其他点所经过的边写成一行可以得到一个大数,你的任务使得这个 ...

  8. 图的遍历(C语言,邻接表存储的图 - DFS,邻接矩阵存储的图 - BFS)

    邻接表存储的图 - DFS /* 邻接表存储的图 - DFS */void Visit( Vertex V ) {printf("正在访问顶点%d\n", V); }/* Visi ...

  9. QDUOJ 生化危机 邻接表存图+BFS

    生化危机 发布时间: 2015年10月10日 18:05   时间限制: 1000ms   内存限制: 256M 描述 X博士想造福人类, 研发一种可以再生肢体的药物, 可是很不幸......研究失败 ...

最新文章

  1. spring mvc中的@propertysource
  2. 2048游戏-AI程序算法分析
  3. 【数据结构与算法】之深入解析“买卖股票的最好时机含手续费”的求解思路与算法示例
  4. 一 流程控制之if判断
  5. c语言随机数加密,TC伪随机数加密解决方法
  6. 大麦无线虚拟服务器,解答大麦盒子无线设置的问题
  7. 通达oa SQL注入day
  8. Vmware workstation 16pro解锁装MacOS
  9. 手机上最好用的五笔输入法_这款APP可以用电脑输入法为手机打字,真的很方便!...
  10. 海信65E7G Pro评测
  11. ngx-bootstrap学习笔记
  12. Hulu 2022春季校园招聘来啦
  13. 机器学习常用性能度量中的Accuracy、Precision、Recall、ROC、F score等都是些什么东西?...
  14. gcc生成静态库和动态库,以及OpenCV3.4.11的安装和实例
  15. vue computed 与mounted 区别
  16. Understanding ISP Pipeline - Noise Reduction
  17. 贪吃的猴子c语言的思路,贪吃的猴子(贪吃的猴子?C语言)
  18. 【深度学习 功法篇】win10操作系统PC端环境的部署(如何并存 不同的、多种版本的深度学习框架)
  19. 百度地图 Error inflating class com.baidu.mapapi.map.MapView 错误
  20. 2018最新动脑学院数据结构与算法系列视频教程

热门文章

  1. 【精华文】C语言结构体特殊情况分析:结构体指针 / 基本数据类型指针,指向其他结构体
  2. 【面试总结】2021Java春招面试经历
  3. 最新BAT大厂面试者整理的Android面试题目模板,分享PDF高清版
  4. python烟花表白_python炫酷烟花表白源代码
  5. 软件工程团队项目Alpha版本产品介绍
  6. mysql删除一条记录
  7. 幸运三角形 南阳acm491(dfs)
  8. Linux命令----用户管理
  9. 网络对抗技术作业一 201421410031
  10. Bootstrap中水平排列的表单form-inline