public static void Main()
var isOneAway = IsOneAway(s1, s2);
Console.WriteLine("isOneAway :" + isOneAway);
public static bool IsOneAway(string s1, string s2)
if (Math.Abs(s1.Length - s2.Length) > 1)
if (s1 == "" && s2.Length == 1)
for (var i = 0; i < s1.Length; i++)
if (s1.Length == s2.Length)
return (s2.Substring(0, i) + s1[i] + s2.Substring(i + 1)) == s1;
if (s1.Length > s2.Length)
return (s2.Substring(0, i) + s1[i] + s2.Substring(i)) == s1;
if (s1.Length < s2.Length)
return (s2.Substring(0, i) + s2.Substring(i + 1)) == s1;
return s1 == s2.Substring(0, s2.Length - 1);