mirror of
https://github.com/autistic-symposium/master-algorithms-py.git
synced 2025-04-30 12:46:11 -04:00
40 lines
842 B
Python
40 lines
842 B
Python
#!/usr/bin/env python
|
|
|
|
__author__ = "bt3"
|
|
|
|
def reverse_str_inplace(_str):
|
|
if len(_str) < 2:
|
|
return _str
|
|
return _str[-1] + reverse_str(_str[1:-1]) + _str[0]
|
|
|
|
|
|
def reverse_str(_str):
|
|
result = ''
|
|
j = len(_str) - 1
|
|
|
|
while j >= 0:
|
|
result += _str[j]
|
|
|
|
return result
|
|
|
|
|
|
if __name__ == '__main__':
|
|
_str = ''
|
|
result = ''
|
|
assert(reverse_str(_str) == result)
|
|
assert(reverse_str_inplace(_str) == result)
|
|
|
|
_str = 'a'
|
|
result = 'a'
|
|
assert(reverse_str(_str) == result)
|
|
assert(reverse_str_inplace(_str) == result)
|
|
|
|
_str = 'abcde'
|
|
result = 'edcba'
|
|
assert(reverse_str(_str) == result)
|
|
assert(reverse_str_inplace(_str) == result)
|
|
|
|
_str = 'abcdef'
|
|
result = 'fedcba'
|
|
assert(reverse_str(_str) == result)
|
|
assert(reverse_str_inplace(_str) == result) |