leetcode:Clone Graph
来源:互联网 发布:纹身字体设计软件 编辑:程序博客网 时间:2024/06/11 18:55
复制图的结构,直接使用BFS广度优先搜索的方法进行图的遍历
利用HashMap作为是否访问过的标记
<span style="font-size:18px;">/** * Definition for undirected graph. * class UndirectedGraphNode { * int label; * List<UndirectedGraphNode> neighbors; * UndirectedGraphNode(int x) { label = x; neighbors = new ArrayList<UndirectedGraphNode>(); } * }; */public class Solution { public UndirectedGraphNode cloneGraph(UndirectedGraphNode node) { if(node == null) return node; HashMap<Integer, UndirectedGraphNode> cloneMap = new HashMap<>(); UndirectedGraphNode clone = new UndirectedGraphNode(node.label); LinkedList<UndirectedGraphNode> nodeQueue = new LinkedList<>(); nodeQueue.add(node); cloneMap.put(clone.label, clone); while(!nodeQueue.isEmpty()){ UndirectedGraphNode top = nodeQueue.pop(); UndirectedGraphNode cloneTop = cloneMap.get(top.label); for(UndirectedGraphNode t : top.neighbors){ UndirectedGraphNode cloneT = cloneMap.get(t.label); if(cloneT == null){ cloneT = new UndirectedGraphNode(t.label); cloneMap.put(cloneT.label, cloneT); nodeQueue.push(t); } cloneTop.neighbors.add(cloneT); } } return clone; } }</span>
0 0
- LeetCode[Graph]: Clone Graph
- [LeetCode] CLone Graph
- LeetCode:Clone Graph
- [leetcode]Clone Graph
- Leetcode: Clone Graph
- [LeetCode] Clone Graph
- LeetCode题解:Clone Graph
- [LeetCode]Clone Graph
- leetcode Clone Graph
- leetcode-Clone Graph
- LeetCode | Clone Graph
- Leetcode: Clone Graph
- [LeetCode] Clone Graph
- LeetCode OJ:Clone Graph
- Leetcode Clone Graph
- [Leetcode] Clone Graph (Java)
- Clone Graph - LeetCode
- 【leetcode】Clone Graph
- SQL Server 触发器
- 设置activity的进入退出动画
- java基础学习-零星笔记4
- 字符串操作函数
- Objective-C 的属性与合成方法使用详解
- leetcode:Clone Graph
- 泛型练习4(接口)
- .NET 自带报表 Rdlc 动态增加子报表
- word里为什么粘贴字体时字间距变大的解决方案
- 千兆光纤 GBIC和SFP接口规格介绍
- 创建简单的samba服务器
- Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)
- 仿酷狗音乐播放器已开源!
- 2014.11.12学习笔记(ORM/AMD/框架)