替换空格
来源:互联网 发布:西科软件实习骗局 编辑:程序博客网 时间: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