剑指offer面试题4

来源:互联网 发布:好看的棒球服淘宝店 编辑:程序博客网 时间:2024/05/29 07:45

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


class Solution {

public:
void replaceSpace(char *str,int length) {
  if(str==NULL&&length<0)
    return;
    int p1=0;
    int p2=0;
        int kongge=0;
        while(str[p1]!='\0')
           {
           if(str[p1]==' ')
               kongge++;
               p1++;
           }
         p2=p1+kongge*2;
        if(p2+1>length)
            return;
        while(p1>=0&&p1<p2)
        {
         if(str[p1]==' ')
             {
             str[p2--]='0';
             str[p2--]='2';
             str[p2--]='%';
         }
          else
              str[p2--]=str[p1];
               p1--;
          
        }
}
};
原创粉丝点击