def equalsWhenOneCharRemoved(x, y): if abs(len(x) - len(y)) != 1: return False return compareEachChars(x, y, False) def compareEachChars(a, b, has_removed): if not a or not b: return True if a[0] != b[0]: if has_removed: return False elif len(a) > len(b): return compareEachChars(a[1:], b, True) else: return compareEachChars(a, b[1:], True) else: return compareEachChars(a[1:],b[1:], has_removed)