您的位置:首页 > 其它

2.替换空格

2016-04-26 20:39 351 查看


题目描述

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

<pre name="code" class="cpp">class Solution {
public:
void replaceSpace(char *str,int length) {
if ( !str || length <= 0 ) return ;

int sumOfLetter = 0 ;
int sumOfBlank = 0 ;
char* pStr = str ;

while ( *pStr != '\0' ) {
if ( *pStr != ' ' )
sumOfLetter ++ ;
else
sumOfBlank ++ ;
pStr ++ ;
}

int orgLength = sumOfLetter + sumOfBlank ;
int newLength = sumOfLetter + sumOfBlank * 2 ;

char* pNewStr = pStr + ( 2 * sumOfBlank ) ;

while ( pStr >= str ) {
if ( *pStr != ' ' ) {
*pNewStr = *pStr ;
pStr -- ;
pNewStr -- ;
} else {
*pNewStr-- = '0' ;
*pNewStr-- = '2' ;
*pNewStr-- = '%' ;
*pStr-- ;
}
}
}
};



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: