N02、替换空格(这题很容易)
作者:互联网
2、替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
1、首先统计出长度,然后从后向前替换
void replaceSpace(char *str,int length) {//int length是指当前的长度
int spaceCount = 0;
int totalLen = length;
for(int i = 0; i < length; ++i){
if(str[i] == ' ') spaceCount++;
}
totalLen += spaceCount*2;
for(int i = length-1; i>=0 &&totalLen != i; --i){//当 i = totalLen的时候说明前面已经都没有空格了,可以节约一部分时间,而不是一直赋值下去
if(str[i] != ' ') str[--totalLen] = str[i];
else{
str[--totalLen] = '0';
str[--totalLen] = '2';
str[--totalLen] = '%';
}
}
}
美女帅哥们如果觉得写的还行,有点用的话麻烦点个赞或者留个言支持一下阿秀~
如果觉得狗屁不通,直接留言开喷就完事了。
需要该笔记PDF版本的去个人公众号【拓跋阿秀】下回复“阿秀剑指offer笔记”即可。
标签:int,空格,这题,length,totalLen,str,--,N02 来源: https://blog.csdn.net/songhao19/article/details/111561772