2022-5-13 每日一题-leetcode
题目链接:https://leetcode.cn/problems/one-away-lcci/
个人题解:
- 首先判断特殊情况,如果两个字符串的差值大于 \(1\) 则直接退出。
- 否则,双指针遍历,如果相等,则继续往前走,反之,只走一个,并增加答案。
- 比较答案是否是 \(0\) 或 \(1\) 即可。
代码:
class Solution {
public:
bool oneEditAway(string first, string second) {
int n=first.size(),m=second.size();
if(abs(n-m)>1) return false;
if(n<m) return oneEditAway(second,first);
int i=0,j=0,res=0;
while(i<n && j<m && res<=1){
if(first[i]==second[j]) i++,j++;
else{
if(n==m) i++,j++,res++;
else i++,res++;
}
}
return res<=1;
}
};

浙公网安备 33010602011771号