赞
踩
无向连接图的深度拷贝
图的表示方式,用数组表示与当前节点连接的节点,如下面的代码
class Node {
public int val;
public List<Node> neighbors;
}
Map<Node,Node> cache = new HashMap<>();
public Node cloneGraph(Node node) {
if(cache.get(node) != null){
return cache.get(node);
}
Node newNode = new Node();
cache.put(node,newNode);// 调用新节点前,放入缓存
newNode.val = node.val;
List<Node> neighbors = node.neighbors;
for (Node tempNode : neighbors) {
newNode.neighbors.add(cloneGraph(tempNode));
}
return newNode;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。