Programming
In this programming tutorial we are going to find the reverse of a string.
We are given a string say "Hello World" and we have to print the reverse of it.
So, first we save the string in a 1D array which will look something like the following.
Hello World
+------------+---+---+---+---+---+---+---+---+---+---+---+
| index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10|
+------------+---+---+---+---+---+---+---+---+---+---+---+
| characters | H | e | l | l | o | | W | o | r | l | d |
+------------+---+---+---+---+---+---+---+---+---+---+---+
Now, to reverse the string we can set two markers, one at the start (0th index) and the other at the end (10th index).
Next, we compute the middle
index.
middle = (start + end) / 2
Note! The value of middle
is a floor value. So, if we get 2.5 then we take 2.
We will move the start
from left to right towards the middle - 1
index. And we will move the end
index from right to left towards the middle
index. And we will keep swapping the characters at index start
with index end
.
Python
s = ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
print('before', s)
start = 0
end = len(s) - 1
while start < end:
s[start], s[end] = s[end], s[start]
start += 1
end -= 1
print('after', s)
before ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
after ['d', 'l', 'r', 'o', 'W', ' ', 'o', 'l', 'l', 'e', 'H']
This has time complexity of O(n)
.
Feel free to try this out in other programming languages. Have fun coding.
ADVERTISEMENT