(Node node, Map<Node, Node> visited)
| 28 | } |
| 29 | |
| 30 | private Node dfs(Node node, Map<Node, Node> visited) { |
| 31 | if (visited.containsKey(node)) return visited.get(node); |
| 32 | |
| 33 | Node clone = new Node(node.val); |
| 34 | visited.put(node, clone); |
| 35 | |
| 36 | for (Node neighbor : node.neighbors) { |
| 37 | clone.neighbors.add(dfs(neighbor, visited)); |
| 38 | } |
| 39 | |
| 40 | return clone; |
| 41 | } |
| 42 | } |