题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
class Solution{
public:
void replaceSpace(char *str,int length){
if(!str||length<= 0) return;
int blank = 0;
char* pStr = str;
while(*pStr!='\0'){
if(*pStr ==' ') blank++;
++pStr;
}
char *pOld = pStr;
char *pNew = pStr+2*blank;
while(pStr>= str){
if(*pOld==' '){
*pNew--='0';
*pNew--='2';
*pNew--='%';
--pOld;
}
else{
*pNew = *pOld;
pNew--;
pOld--;
}
}
str = pNew;
}
};