/*
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
*/
class Solution {
public:
void replaceSpace(char *str,int length) {
if(str == NULL || length <= 0) return ;
int nSpaceCnt = 0 ;
for(int i = 0; i < length; ++i) {
if(str[i] == ' ') {
++nSpaceCnt ;
}
}
int nLength = length + 2 * nSpaceCnt ;
char* pFromTail = str + nLength - 1 ;
char* pFromHead = str + length - 1 ;
while(pFromTail > pFromHead && pFromTail >= str) {
if(*pFromHead == ' ') {
*pFromTail-- = '0' ;
*pFromTail-- = '2' ;
*pFromTail-- = '%' ;
}else {
*pFromTail-- = *pFromHead ;
}
pFromHead-- ;// backward uniform
}
}
};
替换空格
最新推荐文章于 2018-07-21 21:58:02 发布