题目要求:
解题思路:
两个字符串如何相差大于1,直接返回false.
示例一:如果第一个字符串减第二个字符串等于1,第二个字符串需要添加一位。记录修改次数。下次比较需要first字符串的第三位与second第二位进行比较是否相等。
如需修改记录次数。比较完,次数修改大于一次,返回false,小于一次直接返回ture
public boolean oneEditAway(String first, String second) {
int len = first.length()-second.length();
if (len>1||len<-1) {
return false;
}
int count=1;
for (int i = 0,j=0; i < first.length()&&j < second.length(); i++,j++) {
if (first.charAt(i)!=second.charAt(j)) {
if (len==1) { //second要不要添加一个字符
j--;
}else if (len==-1) { //second要不要删除一个字符
i--;
}
count--;
}
if (count<0) {//最多编辑一次
return false;
}
}
return true;
}
}