2022-5-13 每日一题-leetcode

题目链接:https://leetcode.cn/problems/one-away-lcci/

个人题解:

  1. 首先判断特殊情况,如果两个字符串的差值大于 \(1\) 则直接退出。
  2. 否则,双指针遍历,如果相等,则继续往前走,反之,只走一个,并增加答案。
  3. 比较答案是否是 \(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;
    }
};
posted @ 2022-05-13 20:44  黑VS白-清墨  阅读(28)  评论(0)    收藏  举报