天天看点

133.克隆图

133.克隆图

133.克隆图

题解

本题就是单单克隆图的值和结构,而不克隆地址。我们遍历克隆节点,需要一个哈希表记录节点中

class Solution {
    private HashMap <Node,Node> visited = new HashMap<> ();
    public Node cloneGraph(Node node) {
       if(node == null){
           return node;
       }

       if(visited.containsKey(node)){
           return visited.get(node);
       }

       Node cloneNode = new Node(node.val,new ArrayList());
       visited.put(node,cloneNode);

       for(Node neighbor: node.neighbors){
           cloneNode.neighbors.add(cloneGraph(neighbor));
       }
       return cloneNode;
    }
}