## 題解
### BFS
使用 BFS 窮舉所有字串組合
```python=
class Solution:
def minMutation(self, startGene: str, endGene: str, bank: List[str]) -> int:
queue = [(startGene,0)]
if startGene == endGene:
return 0
bank = set(bank)
if endGene not in bank:
return -1
while queue:
gene, mu = queue.pop(0)
for s in range(len(gene)):
for g in "ACGT":
if g != gene[s]:
new_gene = gene[:s] + g + gene[s+1:]
if new_gene in bank:
if new_gene == endGene:
return mu + 1
bank.remove(new_gene)
queue.append((new_gene,mu + 1))
return -1
```