LeetCode133——Clone Graph
2015-02-28 11:39
399 查看
OJ's undirected graph serialization: Nodes are labeled uniquely.
We use # as a separator for each node, and , as a separator for node label and each neighbor of the node. As an example, consider the serialized graph {0,1,2#1,2#2,2}.
The graph has a total of three nodes, and therefore contains three parts as separated by #.
First node is labeled as 0. Connect node 0 to both nodes 1 and 2. Second node is labeled as 1. Connect node 1 to node 2. Third node is labeled as 2. Connect node 2 to node 2 (itself), thus forming a self-cycle. Visually, the graph looks like the following:
[code] 1 / \ / \ 0 --- 2 / \ \_/
难度系数:
中等
实现
[code]class Solution { unordered_map<UndirectedGraphNode*, UndirectedGraphNode*> hash; public: UndirectedGraphNode *cloneGraph(UndirectedGraphNode *node) { if (!node) return nullptr; if (hash.find(node) == hash.end()) { hash[node] = new UndirectedGraphNode(node->label); for (auto n : node->neighbors) { hash[node]->neighbors.push_back(cloneGraph(n)); } } return hash[node]; } };
相关文章推荐
- 算法设计Week3 LeetCode Algorithms Problem #133 Clone Graph
- LeetCode 133 Clone Graph
- leetcode 133 —— Clone Graph
- [LeetCode]133 Clone Graph
- LeetCode 133: Clone Graph
- Leetcode #133 Clone Graph
- [LeetCode]题解(python):133-Clone Graph
- [LeetCode]: 133: Clone Graph
- LeetCode133—Clone Graph
- LeetCode(133) Clone Graph
- leetcode 133: Insertion Sort List
- leetcode-Clone Graph
- leetcode_c++:图:Clone Graph(133)
- Leetcode Clone Graph
- [LeetCode]Clone Graph
- [leetcode] 133 clone graph bfs
- leetcode: Clone Graph
- [LeetCode133]Palindrome Partitioning II
- [LeetCode#133]Clone Graph
- Leetcode-133. Clone Graph