请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。注:"a"和’a’的区别,前者是字符串,后者是字符。
注:
- 当每次遍历到一个空字符的时,要将空格后面的所有字符都往后移动两个位置,同时再将%20三个字符插入到遍历到的位置开始到往后两个位置为止
- 插入完后,要将下一次的遍历位置加2,字符串的长度在原来基础上要加2,因为%20比空格多一个
class solution{
public replaceSpace(char *str,int length){
int i=0;
while(str[i]!='\0')
{
if(str[i]==' ')
{
for(int x=i+1;x<length;x++)
{
str[x+2]=str[x];
}
str[i]='%';
str[i+1]='2';
str[i+2]='0';
i=i+2;
length=length+2
}
else
{
i++;
}
}
}
}