思路是使用栈的模式从后部开始然后向前追加方式
#include <iostream>
using namespace std;
/*请实现一个函数,将一个字符串中的空格替换成“ % 20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are % 20Happy*/
void replaceSpace(char *str, int length)
{
char *dest = str;
int n = 0;
for (int i = 0; i < length; i++)
{
if (str[i] == ' ')
n++;
}
int j = length+n*2-1;
for (int i = length-1; i >=0; i--)
{
if (dest[i] == ' ')
{
str[j--] = '0';
str[j--] = '2';
str[j--] = '%';
}
else
{
str[j--] = dest[i];
}
}
}
int main()
{
char str[100] = " hello world ";
replaceSpace(str, strlen(str));
cout << str;
}