class Solution {
public:
bool isOneEditDistance(string s, string t) {
if (s.size()<t.size())
return isOneEditDistance(t,s);
if (s.size()-t.size()>=2)
return false;
if (s.size()==t.size())
return sameSize(s,t);
else
return oneSizeDif(s,t);
}
bool sameSize(const string &s,const string &t)
{
for (int i=0;i<s.size();i++)
{
if (s[i]!=t[i])
return s.substr(i+1)==t.substr(i+1);
}
return false;
}
bool oneSizeDif(const string &s, const string &t)
{
for (int i=0;i<t.size();i++)
{
if (s[i]!=t[i])
{
return s.substr(i+1)==t.substr(i);
}
}
return true;
}
};
Friday, March 20, 2015
161 One Edit Distance
Given two strings S and T, determine if they are both one edit distance apart.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment