其他分享
首页 > 其他分享> > N02、替换空格(这题很容易)

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