Clone Graph Problem : Recursive Approach - Java
Programming Language - Java
Algorithm Design - Recursion
public Vertex cloneGraph(Vertex vertex) {
if(vertex == null) return null;
return cloneGraph(vertex,new HashMap<>());
}
private Vertex cloneGraph(Vertex begin, Map<Integer,Vertex> map) {
if(map.containsKey(begin.weight)) return map.get(begin.weight);
Vertex vertex = new Vertex(begin.weight);
map.put(begin.weight,vertex);
for (Vertex it : begin.neighbors)
vertex.neighbors.add(cloneGraph(it,map));
return vertex;
}
Comments
Post a Comment