请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
我用的是最笨的方法,先记录一下。
class Solution {
public:
void replaceSpace(char *str,int length) {
char* n=str;
int i=0,countspace=0,j=0;
for(;i<length;i++,n++)
{
if(*n==' ')
countspace++;
}
//char *str1=new char[countspace*3+length];
char *str1=new char[length];
strcpy(str1,str);
for(i=0;i<length;i++,j++){
if(*str1!=' '){
str++;
str1++;
continue;
}
*str='%';
str++;
*str='2';
str++;
*str='0';
str++;
str1++;
countspace--;
while(*str1 && !countspace)
{
*str=*str1;
str++;
str1++;
}
*str='\0';
}
}
};