Clone Graph Posted on 2018-07-21 Descriptionhttps://leetcode.com/problems/clone-graph/description/ Solution123456789101112131415161718192021222324/** * Definition for undirected graph. * struct UndirectedGraphNode { * int label; * vector<UndirectedGraphNode *> neighbors; * UndirectedGraphNode(int x) : label(x) {}; * }; */class Solution {private: unordered_map<UndirectedGraphNode*, UndirectedGraphNode*> oldToNew;public: UndirectedGraphNode *cloneGraph(UndirectedGraphNode *node) { if (!node) return NULL; if (oldToNew.find(node) == oldToNew.end()) { UndirectedGraphNode *newNode = new UndirectedGraphNode(node->label); oldToNew[node] = newNode; for (auto neighbor: node->neighbors) newNode->neighbors.push_back(cloneGraph(neighbor)); } return oldToNew[node]; }};