📅  最后修改于: 2023-12-03 14:58:36.848000             🧑  作者: Mango
本题为门|门CS 2008年的第85题,题目类型为字符串操作。
本题要求实现将一个字符串中所有空格替换为"%20",并返回替换后的新字符串。
输入格式:
输出格式:
输入:
We are family.
输出:
We%20are%20family.
字符串操作题,考察对字符串的基本操作能力。可以使用以下思路:
时间复杂度为 $O(n)$。
以下为Python代码实现:
def replaceSpace(s: str) -> str:
# 统计字符串中的空格数量
count = 0
for i in s:
if i == " ":
count += 1
# 新建字符数组
new_s = [None] * (len(s) + 2 * count)
# 复制字符串中的字符
index = len(new_s) - 1
for i in range(len(s) - 1, -1, -1):
if s[i] == " ":
new_s[index] = "0"
new_s[index-1] = "2"
new_s[index-2] = "%"
index -= 3
else:
new_s[index] = s[i]
index -= 1
# 转化为字符串
return "".join(new_s)