您的位置:首页 > 移动开发

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

2017-05-02 16:07 537 查看
问题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy

用C/C++编写的程序实现

class Solution {

public:

 void replaceSpace(char *str,int length) {

     if (str==NULL||length<0)

     {

         return;

     }

          int i=0;

          int oldnumber=0;

          int blackkey=0;

        while(str[i]!='\0')

            {

          oldnumber++;

          if (str[i]==' ')

             blackkey++;

            i++;

        }

        int newnumber=oldnumber+blackkey*2;

         if(newnumber>length)//长度大于总长度就无法插入

            return ;

       

       

        while(oldnumber>=0&&newnumber>oldnumber)

        {

            if (str[oldnumber]==' ')

                {

                    str[newnumber--]='0';

                    str[newnumber--]='2';

                    str[newnumber--]='%';

                }

            else

                str[newnumber--]=str[oldnumber];

               oldnumber--;

           

        }

    }

};

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐