您的位置:首页 > Web前端

《剑指offer》-替换空格

2016-01-22 19:14 246 查看


题目描述:

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

解决思路:

1.统计出字符串中的空格个数count

2.最后多出来的字符数会是count*2,因为2和0占2个字符,空格字符留给%号

3.进行逆序赋值

class Solution {
public:
void replaceSpace(char *str,int length) {
int count = 0;
int i = 0;
for(i = 0; i < length; i++){
if(str[i] == ' ')
count++;

}
for(i = length-1; i >= 0; i--){
if(str[i] != ' ')
str[i+count*2] = str[i];
else{
str[i+count*2] = '0';
str[i+count*2-1] = '2';
str[i+count*2-2] = '%';
count--;
}
}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: