leetcode - One Edit Distance
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode - One Edit Distance相关的知识,希望对你有一定的参考价值。
题目:
One Edit Distance
Given two strings S and T, determine if they are both oneedit distance apart.
Hint:
1. If | n – m | is greater than 1, we know immediately both are not one-editdistance apart.
2. It might help if you consider these cases separately, m == n and m ≠ n.
3. Assume that m is always ≤ n, which greatly simplifies the conditionalstatements. If m > n, we could just simply swap S and T.
4. If m == n, it becomes finding if there is exactly one modified operation. Ifm ≠ n, you do not have to consider the delete operation. Just consider theinsert operation in T.
bool OneEditDistance(const string &s1, const string &s2) { if (s1.size() > s2.size()) return OneEditDistance(s2, s1); if (s2.size() - s1.size()>1) return false; int i1 = 0, i2 = 0; while (i1 < s1.size()) { if (s1[i1] == s2[i2]) { ++i1; ++i2; } else break; } if (i1 == s1.size()) return true; ++i2; while (i1 < s1.size() && i2<s2.size()) { if (s1[i1] == s2[i2]) { ++i1; ++i2; } else break; } return i1 == s1.size(); }
以上是关于leetcode - One Edit Distance的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode 161: One Edit Distance
LeetCode161. One Edit Distance
[LeetCode] One Edit Distance 一个编辑距离
LeetCode161. One Edit Distance
leetcode 161. One Edit Distance 判断两个字符串是否是一步变换 --------- java
(分类讨论, 情景模拟) lintcode 640. One Edit Distance, leetcode 388,intcode 645. 13. 12. 659. 660