题目链接
https://leetcode-cn.com/problems/one-away-lcci/
解题思路
1.我们观察三种编辑操作:增、删、改;
2.每种操作都是在fisrt[i]!=second[j]时执行的,所以我们只需要遍历0~l1,0~l2;
3.当first[i]!=second[j]时,移动长字串的下标即可;
代码展示
bool oneEditAway(string first, string second) {
int l1=first.size();
int l2=second.size();
if(abs(l1-l2)>=2)return false;//
int k=0;int ans=0;
for(int i=0;i<l1&&k<l2;){
if(first[i]!=second[k]){
ans+=1;
if(l1<l2){
k++;
}
else if(l1==l2){
k++;i++;
}
else i++;
}
else {
k++;
i++;
}
}
if(ans>1)return false;
return true;
}
总结
完全没有中等题的水平~~~~