Note:
1. Need check i < s.length() and j < t.length().
2. Only make i-- when s.length() < t.length() since it could be replacement. No need for shift
class 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; } boolean found = false; for (int i = 0, j = 0; i < s.length() && j < t.length(); i++, j++) { if (s.charAt(i) != t.charAt(j)) { if (found) { return false; } found = true; if (t.length() > s.length()) { i--; } } } return found || (t.length() - s.length()) == 1; } }
本文详细解析了一编辑距离算法的实现思路与核心代码。重点介绍了如何通过比较两个字符串来判断它们是否仅相差一个操作(插入、删除或替换)。文章通过具体示例说明了算法的工作原理,并强调了特殊情况下算法的行为。
716

被折叠的 条评论
为什么被折叠?



