|s.length() - t.length()| == 1, 找到不同的位数,从这个位开始比较后面的字符串是否相同,长的那个要从 i + 1 开始是相当于删除操作
public class Solution {
public boolean isOneEditDistance(String s, String t) {
int m = s.length();
int n = t.length();
if (m > n) {
return isOneEditDistance(t, s);
}
if (m == n) {
int count = 0;
for (int i = 0; i < m; i++) {
if (s.charAt(i) != t.charAt(i)) {
count++;
}
}
return count == 1;
}
if (n - m == 1) {
for (int i = 0; i < m; i++) {
if (s.charAt(i) != t.charAt(i)) {
return s.substring(i).equals(t.substring(i + 1));
}
}
return true;
}
return false;
}
}