92 unordered_map<Node*, Node*> node_map;
93 queue<Node*> node_queue;
98 node_map[node] = new_node;
99 node_queue.push(node);
101 while (!node_queue.empty())
103 Node* current = node_queue.front();
107 for (
int i = 0; i < (int)v.size(); ++i)
109 if (node_map[v[i]] == NULL)
111 new_node =
new Node(v[i]->val);
113 node_map[v[i]] = new_node;
114 node_queue.push(v[i]);
116 node_map[current]->
neighbors.push_back(node_map[v[i]]);
119 return node_map[node];