根据字符串的长度分为三种情况,区分为增删改三种情况处理
public class test {
public boolean isOneEditDistance(String s, String t){
int lens = s.length();
int lent = t.length();
if(lens==0 && lent==0){
return false;
}
boolean first = true;
int j = 0;
if(Math.abs(lens-lent)>1){
return false;
}
if(lens==0 || lent==0){
return true;
}
if(lens>lent){
for(int i=0; i<lent; i++){
if(s.charAt(j)!=t.charAt(i) && first){
i--;
first = false;
}else if(s.charAt(j)!=t.charAt(i) && !first){
return false;
}
}
return true;
}
else if(lens == lent){
for(int i=0; i<lens; i++){
if(s.charAt(i)!=t.charAt(i) && first){
first = false;
}else if(s.charAt(i)!=t.charAt(i) && !first){
return false;
}
}
return !first;
}
else{
for(int i=0; i<lens; i++){
if(s.charAt(i)!=t.charAt(i) && first){
i--;
first = false;
}else if(s.charAt(i)!=t.charAt(i) && !first){
return false;
}
j++;
}
return true;
}
}
}