将空格替换为百分号,效率为O(size)

来源:互联网 发布:java 类的实例 编辑:程序博客网 时间:2024/06/08 02:52
void replace(char* str, int len){
int space = 0, counter = 0;
for(int i = 0; i < len; i++)
{
if(str[i] == ' ')
space ++;
}
int newLength = space+len*2+1;
char *newStr = new char[newLength];
for(int i = 0; i < len; i++){
if(str[i]==' ')
{
newStr[i+counter*2] = '%';
newStr[i+1+counter*2] = '%';
newStr[i+2+counter*2] = '%';
counter ++;
}
else{
newStr[i+counter*2] = str[i];
}
}
newStr[newLength] = 0;
printf("%s", newStr);
}