FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
leetcode-solutions/clone_graph.cpp at master · avidLearnerInProgress/leetcode-solutions · GitHub
avidLearnerInProgress
/
leetcode-solutions
Public
Notifications
You must be signed in to change notification settings
Fork
5
Star
19
Code
Issues
0
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
leetcode-solutions
/
clone_graph.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
38 lines (36 loc) · 839 Bytes
Breadcrumbs
leetcode-solutions
/
clone_graph.cpp
Copy path
File metadata and controls
38 lines (36 loc) · 839 Bytes
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
// Definition for a Node.
class Node {
public:
int val;
vector<Node*> neighbors;
Node() {
val = 0;
neighbors = vector<Node*>();
}
Node(int _val) {
val = _val;
neighbors = vector<Node*>();
}
Node(int _val, vector<Node*> _neighbors) {
val = _val;
neighbors = _neighbors;
}
};
*/
class
Solution
{
public:
unordered_map<Node*, Node*> map;
Node*
cloneGraph
(Node* node) {
if
(node ==
NULL
)
return
NULL
;
return
dfs
(node);
}
Node*
dfs
(Node* node) {
if
(map.
find
(node) != map.
end
())
return
map[node];
Node* clone =
new
Node
(node->
val
);
map[node] = clone;
//
map OLD node to NEW node!
for
(Node* n : node->
neighbors
)
clone->
neighbors
.
push_back
(
dfs
(n));
return
clone;
}
};
Back
|
FazBrowse Home
|
New Git URL