FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
LeetCode-Solutions/Python/clone-graph.py at master · pythonpeixun/LeetCode-Solutions · GitHub
pythonpeixun
/
LeetCode-Solutions
Public
forked from
kamyu104/LeetCode-Solutions
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
LeetCode-Solutions
/
Python
/
clone-graph.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
27 lines (23 loc) · 848 Bytes
Breadcrumbs
LeetCode-Solutions
/
Python
/
clone-graph.py
Copy path
File metadata and controls
27 lines (23 loc) · 848 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
# Time: O(n)
# Space: O(n)
class
UndirectedGraphNode
(
object
):
def
__init__
(
self
,
x
):
self
.
label
=
x
self
.
neighbors
=
[]
class
Solution
(
object
):
# @param node, a undirected graph node
# @return a undirected graph node
def
cloneGraph
(
self
,
node
):
if
node
is
None
:
return
None
cloned_node
=
UndirectedGraphNode
(
node
.
label
)
cloned
,
queue
=
{
node
:
cloned_node
}, [
node
]
while
queue
:
current
=
queue
.
pop
()
for
neighbor
in
current
.
neighbors
:
if
neighbor
not
in
cloned
:
queue
.
append
(
neighbor
)
cloned_neighbor
=
UndirectedGraphNode
(
neighbor
.
label
)
cloned
[
neighbor
]
=
cloned_neighbor
cloned
[
current
].
neighbors
.
append
(
cloned
[
neighbor
])
return
cloned
[
node
]
Back
|
FazBrowse Home
|
New Git URL