【剑指offer-解题系列(2)】替换空格

来源:互联网 发布:ftp默认使用的端口号是 编辑:程序博客网 时间:2024/05/21 21:52

题目描述:

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

分析:
简单字符串操作,遇到 ' '则使用memcpy把后续的字符串拷贝到三个字符之后。

代码实现:

void replaceSpace(char *str,int length) {
if(length<=0)
return;
char*ptr =str;
char*end_ptr = str+length;
while( ptr!=end_ptr){
if(*ptr==' '){
int size = end_ptr - (ptr+1);
memcpy(ptr+3, ptr+1, size );
*ptr++='%';
*ptr++='2';
*ptr++='0';
end_ptr = ptr+size;
}
else{
ptr++;
}
}
}


原创粉丝点击