思路:遍历字符串找出空格数目count,原长度+count*2=替换后长度。从后往前插。
void replaceSpace(char *str,int length) {
if(length==0||str==NULL)
return;
int count=0;
for(int i=0;i<length;i++)
{
if(str[i]==' ')
count++;
}
int newLength = length+count*2;
for(int j=length-1;j>=0;j--)
{
if(str[j]!=' ')
{
str[newLength-1]=str[j];
newLength--;
}
else
{
str[newLength-1]='0';
str[newLength-2]='2';
str[newLength-3]='%';
newLength-=3;
}
}
}