Minimum Genetic Mutation LeetCode solution in Python

1
class Solution:
2
def minMutation(self, start: str, end: str, bank: List[str]) -> int:
3
q = deque()
4
q.append(start)
5
n = len(bank)
6
last = 0
7
used = [False] * n
8
for i, x in enumerate(bank):
9
if start == x:
10
used[i] = True
11
if end == x:
12
last = i
13
dist = 0
14
while q:
15
dist += 1
16
for _ in range(len(q)):
17
w = q.popleft()
18
for i, x in enumerate(bank):
19
if used[i]:
20
continue
21
bad = 0
22
for j in range(8):
23
if w[j] != x[j]:
24
bad += 1
25
if bad == 2:
26
break
27
if bad == 1:
28
if last == i:
29
return dist
30
used[i] = True
31
q.append(x)
32
return -1

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0