替换空格

题目描述

  请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy
  思路:先计算有多少个空格,要准备多少空间,再从后往前替换(保证输入的字符串后面有足够多的空间)
class Solution {
public:
    void replaceSpace(char *str,int length) {
        int spaceNum=0;
        for(int i=0; i<length; ++i)
        {
            if(str[i]==' ')++spaceNum;
        }
        int size=length+2*spaceNum;
        str[size]='\0';
        for(int i=size-1, j=length-1; j>=0; --j)
        {
            if(str[j]!=' ')str[i--]=str[j];
            else
            {
                str[i--]='0';
                str[i--]='2';
                str[i--]='%';
            }
        }
    }
};

 

posted @ 2017-12-19 13:19  jeysin  阅读(108)  评论(0编辑  收藏  举报