Skip to content

Commit 6449b36

Browse files
committed
Create reverse_order_of_words.py
1 parent 5ec88d7 commit 6449b36

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

reverse_order_of_words.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
def reverse_order_of_words(lst):
2+
"""
3+
>>> reverse_order_of_words(['p', 'r', 'a', 'c', 't', 'i', 'c', 'e', ' ', 'm', 'a', 'k', 'e', 's', ' ', 'p', 'e', 'r', 'f', 'e', 'c', 't', ' ', 'y', 'o', 'u'])
4+
['y', 'o', 'u', ' ', 'p', 'e', 'r', 'f', 'e', 'c', 't', ' ', 'm', 'a', 'k', 'e', 's', ' ', 'p', 'r', 'a', 'c', 't', 'i', 'c', 'e']
5+
6+
"""
7+
8+
# Runtime: O(n)
9+
10+
reversed_arr = []
11+
words = ''.join(lst)
12+
# 'practice makes perfect you'
13+
words_arr = words.split(' ')
14+
# ['practice', 'makes', 'perfect', 'you']
15+
while len(words_arr) > 0:
16+
word = words_arr.pop()
17+
reversed_arr.append(word)
18+
# ['you', 'perfect', 'makes', 'practice']
19+
reversed_words = ' '.join(reversed_arr)
20+
# 'you perfect makes practice'
21+
22+
return list(reversed_words)
23+
24+
if __name__ == '__main__':
25+
import doctest
26+
results = doctest.testmod()
27+
28+
if results.failed == 0:
29+
print "ALL TESTS PASSED"

0 commit comments

Comments
 (0)