161. One Edit Distance 发表于 2022-01-28 123456789101112131415161718192021222324252627class Solution { public boolean isOneEditDistance(String s, String t) { if (s.length() > t.length()) { return isOneEditDistance(t, s); } if (t.length() - s.length() > 1) { return false; } for (int i = 0; i < s.length(); i++) { if (s.charAt(i) != t.charAt(i)) { // 遇到了不同的字符 if (s.length() == t.length()) { // 如果两个字符串长度相等,则此时两个字符只能替换才能满足题意 return s.substring(i + 1).equals(t.substring(i + 1)); } else { // 如果 t 字符串多一个字符,此时 t 字符串中的当前字符只能删除才能满足题意 return s.substring(i).equals(t.substring(i + 1)); } } } // 如果 for 循环中没有不同的字符,说明 s 字符串与 t 字符串前缀匹配,此时判断 t 字符串是否多出一个字符 return s.length() + 1 == t.length(); }} Reference161. One Edit Distance