文巾解题 01.05. 一次编辑
Posted UQI-LIUWJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文巾解题 01.05. 一次编辑相关的知识,希望对你有一定的参考价值。
1 题目描述
2 解题思路:
建立一个指针i+一个错位个数计数器num(表示长的字符的第i+num位和短的字符的第i位匹配)
class Solution:
def oneEditAway(self, first: str, second: str) -> bool:
lf=len(first)
ls=len(second)
if(abs(lf-ls)>1):
return False
#长度相差超过1的话,直接false
if(ls>lf):
first,second=second,first
lf,ls=ls,lf
#长的在前面,短的在后面
num=0
print(lf,ls)
if(lf==ls):
i=0
while(i<lf):
if(first[i]==second[i]):
i+=1
else:
if(num>=1):
return(False)
else:
num+=1
i+=1
#一样长——最多一个字符可以被替换
elif(lf>ls):
i=0
while(i<ls):
#print(i,num,first[i+num],second[i])
if(first[i+num]==second[i]):
i+=1
else:
if(num>=1):
return(False)
else:
num+=1
#差一个长度——一个字符可以被替换
return(True)
以上是关于文巾解题 01.05. 一次编辑的主要内容,如果未能解决你的问题,请参考以下文章