您的位置:首页 > Web前端

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

2017-05-16 20:51 316 查看
4000


题目描述:

请实现一个函数,将一个字符串中的空格替换成“%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++;        }    }}
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: