字符串中的空格替换
2017-07-26 09:33
357 查看
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解题思路:从左向右插入,移动次数较多,计算量大,不建议该方法。
推荐从右向左插入。
首先计算出整个字符串中的空格数量spacecount,则新字符串长度 newlength = oldlength+2*spacecount;
**注意char *str 表示的字符串结束符号为'/0',所以长度不需要进行减1操作
class Solution {
public:
void replaceSpace(char *str,int length) {
int spacecount=0;
int newlength;
for(int i=0; i<length; i++)
{
if(str[i]==' ')
spacecount++;
}
newlength=length+spacecount*2;
for(int i=length,j=newlength; i>=0; i--){
if(str[i]==' '){
str[j--]='0';
str[j--]='2';
str[j--]='%';
}
else{
str[j--]=str[i];
}
}
return;
}
};
解题思路:从左向右插入,移动次数较多,计算量大,不建议该方法。
推荐从右向左插入。
首先计算出整个字符串中的空格数量spacecount,则新字符串长度 newlength = oldlength+2*spacecount;
**注意char *str 表示的字符串结束符号为'/0',所以长度不需要进行减1操作
class Solution {
public:
void replaceSpace(char *str,int length) {
int spacecount=0;
int newlength;
for(int i=0; i<length; i++)
{
if(str[i]==' ')
spacecount++;
}
newlength=length+spacecount*2;
for(int i=length,j=newlength; i>=0; i--){
if(str[i]==' '){
str[j--]='0';
str[j--]='2';
str[j--]='%';
}
else{
str[j--]=str[i];
}
}
return;
}
};
相关文章推荐
- 把不是空格的字符串进行替换
- 字符串替换空格:请实现一个函数,把字符数组中的每个空格替换成“%20”。
- 01-替换输入文本的空格和换行(字符串处理)
- day06使用两个栈实现一个队列+使用两个队列实现一个栈+字符串空格替换
- 把字符串中的每个空格替换成“ ”,要求在原字符串上直接替换。(假设原字符串有足够空间)
- 替换字符串中的空格
- 实现一个函数,将一个字符串中的空格替换成“%20”。
- 如何将字符串中的空格替换成其他的符号
- 字符串中的所有空格替换为“20%”
- 【剑指offer】替换字符串中的空格
- CCI 1.4 将字符串空格替换成“%20”
- 1.4字符串-空格替换
- 字符串替换空格
- 替换字符串中的空格
- 替换掉字符串中的空格
- 字符串空格替换
- 请实现一个函数,将一个字符串中的空格替换成“%2”
- 【c语言】字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”
- 字符串:替换空格
- 将字符串中的空格替换成“%20”