LeetCode 133 Clone Graph
2018-11-10 15:12
375 查看
题目的意思是,给你一个图,你给他返回一个复制的图。
所有的节点你都需要自己New 而不能用他给的参数赋值,因为那是个指针。
每个节点的label都是唯一的,由于存在环,防止无限递归,可以用map将创建的节点存起来。
c++
class Solution { public: UndirectedGraphNode* ans; map<int,UndirectedGraphNode*> vis; UndirectedGraphNode *cloneGraph(UndirectedGraphNode *node) { if(node==NULL) return ans; ans = new UndirectedGraphNode(node->label); vis[ans->label] = ans; dfs(node,ans); return ans; } void dfs(UndirectedGraphNode *node,UndirectedGraphNode *ans) { int l=node->neighbors.size(); for(int i=0;i<l;i++) { if(vis[node->neighbors[i]->label]==NULL) { vis[node->neighbors[i]->label] = new UndirectedGraphNode(node->neighbors[i]->label); ans->neighbors.push_back( vis[node->neighbors[i]->label]); dfs(node->neighbors[i],ans->neighbors[i]); } else ans->neighbors.push_back(vis[node->neighbors[i]->label]); } } };
相关文章推荐
- [LeetCode]: 133: Clone Graph
- [LeetCode]题解(python):133-Clone Graph
- LeetCode133——Clone Graph
- LeetCode133—Clone Graph
- [LeetCode]133 Clone Graph
- LeetCode 133: Clone Graph
- leetcode 133 —— Clone Graph
- 算法设计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---Clone Graph
- Clone Graph --- LeetCode
- LeetCode(133)Clone a Graph
- Leetcode 133. Clone Graph
- leetcode——133——Clone Graph
- leetcode做题总结,题目Clone Graph 133
- Leetcode133: Unique Paths II