133. Clone Graph
来源:互联网 发布:python 变量生存期 编辑:程序博客网 时间:2024/06/05 17:52
Clone an undirected graph. Each node in the graph contains a label
and a list of its neighbors
.
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 #
.
- First node is labeled as
0
. Connect node0
to both nodes1
and2
. - Second node is labeled as
1
. Connect node1
to node2
. - Third node is labeled as
2
. Connect node2
to node2
(itself), thus forming a self-cycle.
Visually, the graph looks like the following:
1 / \ / \ 0 --- 2 / \ \_/
深拷贝一个图,图可能有自环。
图中顶点的编号是unique的,利用这一点,可以在递归调用中识别已经copy的节点。
HashMap<UndirectedGraphNode, Boolean> hashmap=new HashMap<>();HashMap<Integer, UndirectedGraphNode> newhashmap=new HashMap<>();public UndirectedGraphNode cloneGraph(UndirectedGraphNode node){if(node==null)return node;hashmap.put(node, true);UndirectedGraphNode newnode=new UndirectedGraphNode(node.label);newhashmap.put(newnode.label,newnode);for(UndirectedGraphNode tn : node.neighbors){if(!hashmap.containsKey(tn)){hashmap.put(tn, true);UndirectedGraphNode temp=cloneGraph(tn);newnode.neighbors.add(temp);}else{int lable=tn.label;newnode.neighbors.add(newhashmap.get(lable));}}return newnode;}
0 0
- LeetCode 133. Clone Graph
- [Leetcode] 133. Clone Graph
- [leetcode] 133.Clone Graph
- 133. Clone Graph
- Leetcode 133. Clone Graph
- 133. Clone Graph LeetCode
- 133. Clone Graph
- LeetCode 133. Clone Graph
- leetcode 133. Clone Graph
- 133. Clone Graph
- 133. Clone Graph
- LeetCode *** 133. Clone Graph
- leetcode-133. Clone Graph
- LeetCode 133. Clone Graph
- 133. Clone Graph
- 133. Clone Graph
- 133. Clone Graph
- 133. Clone Graph
- Zend Studio如何打开不支持的文件格式?
- SQL Server 2008登录错误:无法连接到(local)的解决
- 350. Intersection of Two Arrays II
- Map排序
- 窗口按钮样式老旧解决方法
- 133. Clone Graph
- 转载http://lib.csdn.net/article/php/24076?knId=948
- 判断一个int数组中的元素是否存在重复
- shell编程和正则表达式相关知识
- ThreadLocal的使用
- Activity的启动模式
- 第10-11周项目:春哥
- 索引的引入索引的优缺点索引小实例
- 135. Candy