先计算空格数,然后从后往前将空格替换
class Solution {
public:
void replaceSpace(char *str,int length) {
int num = 0;
int j = 0;
for(int i=0; i<length; i++)
{
if(str[i] == ' ')
num++;
}
for(int i=length-1; i>=0; i--)
{
if(str[i] != ' ')
{
str[length+2*num-1-j] = str[i];
j++;
}
else
{
str[length+2*num-1-j] = '0';
str[length+2*num-2-j] = '2';
str[length+2*num-3-j] = '%';
j = j+3;
}
}
}
};


京公网安备 11010502036488号