题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
总体就是从后往前预留出空间进行操作,具体实现源码如下:
class Solution{ public: void replaceSpace(char* str, int length){ if(str==NULL) return; int OriginalLength=0; int CountOfBlank=0; for(int i =0;str[i]!='\0';i++){ OriginalLength++; if(str[i]==' ') CountOfBlank++; } int len=2*CountOfBlank+OriginalLength; char* pStr1=str+OriginalLength; char* pStr2=str+len; while(pStr1<pStr2){ if(*pStr1==' '){ *pStr2--='0'; *pStr2--='2'; *pStr2--='%'; } else{ *pStr2--=*pStr1; } pStr1--; } } };
浙公网安备 33010602011771号