字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。
示例1
输入:
first = "pale"
second = "ple"
输出: True
示例2
输入:
first = "pales"
second = "pal"
输出: False
解答 python3
class Solution:
def oneEditAway(self, first: str, second: str) -> bool:
i=0;j=0;flag=0;
if abs(len(first)-len(second))>1:
return False;
while True:
if i>=len(first) or j>=len(second):
break;
#if len(first)>=len(second):
if(first[i]==second[j]):
#匹配
i=i+1;
j=j+1;
else:
#出现了编辑
#print(first[i],i,j)
flag=flag+1;
if len(first)== len(second):
#replace
i=i+1;
j=j+1;
elif len(first)>len(second):
#delete
i=i+1;
else:
#insert
j=j+1;
return flag<2;