高级农民
- 积分
- 2039
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2013-11-22
- 最后登录
- 1970-1-1
|
- class Solution {
- public:
- UndirectedGraphNode *cloneGraph(UndirectedGraphNode *node) {
- if (node == NULL) return node;
- unordered_map<int, UndirectedGraphNode *> visited;
- return dfs(node, visited);
- }
- UndirectedGraphNode *dfs(UndirectedGraphNode *node, unordered_map<int,
- UndirectedGraphNode *> &visited) {
- UndirectedGraphNode *copy = new UndirectedGraphNode(node->label);
- if (visited.find(node->label) != visited.end())
- return visited[node->label];
-
- visited[node->label] = copy;
- vector<UndirectedGraphNode *> vec = node->neighbors;
- for (int i=0; i<vec.size(); i++) {
- copy->neighbors.push_back(dfs(vec[i], visited));
- }
- return copy;
- }
- };
复制代码 找不出问题,放上AC的代码吧
奇怪的是将 return visited[node->label]; 改为 return copy;
错误提示:Output Limit Exceeded
很奇怪的问题,先放在这里了。 |
|