diff --git a/strings/remove_whitespace.py b/strings/remove_whitespace.py new file mode 100644 index 0000000..11e0761 --- /dev/null +++ b/strings/remove_whitespace.py @@ -0,0 +1,32 @@ +def remove_whitespace(original: str) -> str: + """ + >>> remove_whitespace("I Love Python") + 'ILovePython' + >>> remove_whitespace("I Love Python") + 'ILovePython' + >>> remove_whitespace(' I Love Python') + 'ILovePython' + >>> remove_whitespace("") + '' + """ + return "".join(original.split()) + + +def remove_whitespace2(original: str) -> str: + """ + >>> remove_whitespace2("I Love Python") + 'ILovePython' + >>> remove_whitespace2("I Love Python") + 'ILovePython' + >>> remove_whitespace2(' I Love Python') + 'ILovePython' + >>> remove_whitespace2("") + '' + """ + return original.replace(" ", "") + + +if __name__ == "__main__": + from doctest import testmod + + testmod() diff --git a/strings/reverse.py b/strings/reverse.py new file mode 100644 index 0000000..bf19ed8 --- /dev/null +++ b/strings/reverse.py @@ -0,0 +1,41 @@ +def reverse(original: str) -> str: + """ + >>> reverse("abc") + 'cba' + >>> reverse('1234') + '4321' + >>> reverse("cba321") + '123abc' + >>> reverse("") + '' + """ + return original[::-1] + + +def reverse2(original: str) -> str: + """ + >>> reverse2("abc") + 'cba' + >>> reverse2('1234') + '4321' + >>> reverse2("cba321") + '123abc' + >>> reverse2("") + '' + """ + original = list(original) + i, j = 0, len(original) - 1 + while i < j: + original[i], original[j] = ( + original[j], + original[i], + ) + i += 1 + j -= 1 + return "".join(original) + + +if __name__ == "__main__": + from doctest import testmod + + testmod()