题目链接:面试题 01.05. 一次编辑
根据 first 和 second 的长度分情况讨论。
class Solution:
def oneEditAway(self, first: str, second: str) -> bool:
if first == second:
return True
if abs(len(first) - len(second)) > 1:
return False
for i, (c1, c2) in enumerate(zip(first, second)):
if c1 != c2:
break
else:
return True
if len(first) == len(second):
return first[i + 1:] == second[i + 1:]
elif len(first) == len(second) + 1:
return first[i + 1:] == second[i:]
elif len(first) + 1 == len(second):
return first[i:] == second[i + 1:]
else:
return False