替换空格

来源:互联网 发布:西科软件实习骗局 编辑:程序博客网 时间:2024/04/26 01:17

题目描述

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

class Solution {public:    void replaceSpace(char *str,int length) {        if(str==NULL||length<=0)            return;        int newlength=0;        int originallength=0;        int numberblank=0;        for(int i=0;str[i]!='\0';i++)        {            if(str[i]==' ')                numberblank++;            originallength++;        }        newlength= originallength+2*numberblank;         int indexofnew=newlength;        int indexoforiginal=originallength;         while(indexoforiginal>=0&&indexofnew>indexoforiginal)         {             if(str[indexoforiginal]==' ')             {                 str[indexofnew]='0';                 str[indexofnew-1]='2';                 str[indexofnew-2]='%';                 indexofnew=indexofnew-2;             }             else                str[indexofnew]=str[indexoforiginal];             --indexofnew;             --indexoforiginal;         }     }};
0 0