leetcode - Clone Graph
2013-12-16 09:01
288 查看
/** * Definition for undirected graph. * struct UndirectedGraphNode { * int label; * vector<UndirectedGraphNode *> neighbors; * UndirectedGraphNode(int x) : label(x) {}; * }; */ class Solution { public: UndirectedGraphNode * cloneGraph(UndirectedGraphNode *node, unordered_map<int, UndirectedGraphNode*> & curNodes){ UndirectedGraphNode * root = new UndirectedGraphNode(node->label); curNodes[root->label] = root; vector<UndirectedGraphNode*>::iterator itr; for (itr = node->neighbors.begin(); itr!=node->neighbors.end(); itr++){ unordered_map<int,UndirectedGraphNode*>::const_iterator got = curNodes.find ((*itr)->label); if (got==curNodes.end()) root->neighbors.push_back(cloneGraph(*itr, curNodes)); else root->neighbors.push_back(got->second); } return root; } UndirectedGraphNode *cloneGraph(UndirectedGraphNode *node) { if (node==NULL) return node; unordered_map<int, UndirectedGraphNode *> curNodes; return cloneGraph(node,curNodes); } };
相关文章推荐
- leetcode_题解_Clone Graph
- [LeetCode] Clone Graph
- LeetCode - Clone Graph
- [leetcode] Clone Graph
- Clone Graph leetcode
- LeetCode | Clone Graph
- LeetCode133:Clone Graph
- leetcode — clone-graph
- [LeetCode] Clone Graph(!!!!graph&dfs&bfs)
- LeetCode | Clone Graph(克隆图)
- LeetCode – Refresh – Clone Graph
- leetcode Clone Graph
- leetcode Clone Graph
- Clone Graph -- LeetCode
- leetcode之Clone Graph
- LeetCode: Clone Graph 解题报告
- [LeetCode] 克隆图 Clone a Graph
- leetcode:Clone Graph
- LeetCode_Clone Graph
- [Leetcode]Clone Graph