One Edit Distance
如果有不同的char,如果两个长度相同,那么判断剩下的部分是否相等,如果不同,则判断短的当前字符和长的下一个字符开始的剩下部分是否相等
code
class Solution {
public:
bool isOneEditDistance(string s, string t) {
int m = s.length();
int n = t.length();
if(s == t || abs(m-n) > 1)
{
return false;
}
if(n > m)
{
return isOneEditDistance(t, s);
}
for(int i = 0; i<n; i++)
{
if(s[i] == t[i])
{
continue;
}
// s[i] != t[i]
if(m != n)
{
if(s.substr(i+1) == t.substr(i))
{
return true;
}
else
{
return false;
}
}
if(m == n)
{
if(s.substr(i+1) == t.substr(i+1))
{
return true;
}
else
{
return false;
}
}
}
return true;
}
};