您的位置:首页 > 其它

Chapter 1 Arrays and Strings - 1.5

2012-06-06 15:05 351 查看
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.

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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: