Problem 1.5: Write a method to replace all spaces in a string with '%20'.
The first solution flashed into my mind takes O(n), and it's similar to the one on the answer page.
One thing to note is the string.join() function, which takes the connector as the second parameter and the default connector is a space.
The first solution flashed into my mind takes O(n), and it's similar to the one on the answer page.
import string
def replace_space(str):
# Count the number of spaces
space_count = 0
for i in range(0, len(str)):
if str[i] == ' ':
space_count = space_count + 1
# Allocate a new string
new_str = [' ' for i in range(0, len(str) + 2*space_count)]
#Copy the original string into new string,
# while replacing spaces with "%20"
j = 0
for i in range(0, len(str)):
if str[i] == ' ':
new_str[j] = '%'
new_str[j+1] = '2'
new_str[j+2] = '0'
j = j + 3
else:
new_str[j] = str[i]
j = j + 1
return string.join(new_str, '')
One thing to note is the string.join() function, which takes the connector as the second parameter and the default connector is a space.