题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
注:在python中,字符串属于不可修改对象,不支持原地修改.即s[0]='a’的形式
1)方法1:用方法replace
class Solution:
# s 源字符串
def replaceSpace(self, s):
return s.replace(" ", "%20")
2)方法2:用join(如果空格出现在开头或末尾或者出现多个连续空格就gg了,但是测试用例中没有这类用例)
class Solution:
# s 源字符串
def replaceSpace(self, s):
return "%20".join(s.split())
3)方法3:创建新字符串
class Solution:
# s 源字符串
def replaceSpace(self, s):
ss = ""
for j in range(len(s)):
if s[j] == ' ':
ss += "%20"
else:
ss += s[j]
return ss
4)方法4:在原字符串基础上修改(C++)(python中好像Io.stringIO可以在原字符串基础上修改,没有细看)
class Solution{
public:
void replaceSpace(char *str, int length){
int count = 0;
for(int i = 0; i < length; i++){
if(str[i] == ' '){
count++;
}
}
for(int i=length-1; i>=0; i--){
if(str[i] != ' '){
str[i + 2*count] = str[i];
}
else{
count--;
str[i + 2*count] = '%';
str[i + 2*count + 1] = '2';
str[i + 2*count + 2] = '0';
}
}
}
};
1363

被折叠的 条评论
为什么被折叠?



