题目描述
请实现一个函数,将一个字符串中的空格替换成“ ”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We Are Happy
思路:先计算有多少个空格,要准备多少空间,再从后往前替换(保证输入的字符串后面有足够多的空间)
class Solution {
public:
void replaceSpace(
char *str,
int length) {
int spaceNum=
0;
for(
int i=
0; i<length; ++
i)
{
if(str[i]==
' ')++
spaceNum;
}
int size=length+
2*
spaceNum;
str[size]=
'\0';
for(
int i=size-
1, j=length-
1; j>=
0; --
j)
{
if(str[j]!=
' ')str[i--]=
str[j];
else
{
str[i--]=
'0';
str[i--]=
'2';
str[i--]=
'%';
}
}
}
};
转载于:https://www.cnblogs.com/jeysin/p/8065011.html