【题目描述】
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
【思路讲解】
【实现代码】
class Solution {
public:
void replaceSpace(char *str,int length) {
if(str==NULL)
{
return;
}
int count =0;//统计出空格的个数
int len1 = 0;//统计出字符串的大小
for(int i=0;str[i]!='\0';i++)
{
if(str[i] == ' ')
{
count++;
}
len1++;
}
//新的字符串大小
int len2 = len1 + 2*count;
if(len2 >= length)
{
return;
}
int tmp1 =len1;
int tmp2=len2;
while(tmp1 >= 0&&tmp1 < tmp2)
{
if(str[tmp1] == ' ')
{
str[tmp2--] ='0';
str[tmp2--] = '2';
str[tmp2--] = '%';
}
else
{
str[tmp2--] = str[tmp1];
}
--tmp1;
}
}
};