描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
示例1
输入:"We Are Happy"
返回值:"We%20Are%20Happy"
初步想法还是逐步查找,查找到空值的字符时替换成%20,时间复杂度为O(n)。
str = "We are happy"
a = len(str)
for i in range(a):
str1 = str.replace(" ", "%20"); #从i位置开始的1个字符替换为 % 20
print(str1)
使用Class Solution:
class Solution:
def replaceSpace(self , s ):
for i in range(len(s)):
s = s.replace(" ", "%20"); #从i位置开始的1个字符替换为 % 20
return s
讨论组大多都是关于Java的解题,我没接触过,所以只粘贴上精华题解。
使用StringBuilder
public String replaceSpace(String s) {
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == ' ')
stringBuilder.append("%20");
else
stringBuilder.append(s.charAt(i));
}
return stringBuilder.toString();
}
时间复杂度:O(n),所有字符都遍历一遍
空间复杂度:O(n),StringBuilder需要的空间