FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
leetcode-algorithms/python/clone_graph.py at master · anishLearnsToCode/leetcode-algorithms · GitHub
anishLearnsToCode
/
leetcode-algorithms
Public
Notifications
You must be signed in to change notification settings
Fork
17
Star
98
Code
Issues
0
Pull requests
0
Discussions
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
leetcode-algorithms
/
python
/
clone_graph.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
19 lines (18 loc) · 666 Bytes
Breadcrumbs
leetcode-algorithms
/
python
/
clone_graph.py
Copy path
File metadata and controls
19 lines (18 loc) · 666 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
# https://leetcode.com/problems/clone-graph/description/
# T: O(n) where n is the number of nodes in the graph
# S: O(n) where n is the number of nodes in the graph
class
Solution
:
def
cloneGraph
(
self
,
node
:
'Node'
)
->
'Node'
:
if
not
node
:
return
node
d
=
{
node
.
val
:
Node
(
node
.
val
, [])}
q
=
deque
([
node
])
while
q
:
cur_node
=
q
.
pop
()
cur_res
=
d
[
cur_node
.
val
]
for
n
in
cur_node
.
neighbors
:
if
n
.
val
not
in
d
:
q
.
append
(
n
)
d
[
n
.
val
]
=
Node
(
n
.
val
, [])
cur_res
.
neighbors
.
append
(
d
[
n
.
val
])
return
d
[
node
.
val
]
Back
|
FazBrowse Home
|
New Git URL