int replaceBlank(char string[], int length) {
int n=0;
for(int i =0;i<length;i++){
if(string[i]==' '){
n++;
}
}
int newlen=length+2*n;
for(int i=length-1;i>=0;i--){
if(string[i]!=' ')
string[--newlen]=string[i];
else{
string[--newlen]='0';
string[--newlen]='2';
string[--newlen]='%';
}
}
return length+2*n;
}
先找出所有的空字符个数,然后计算新的字符数组长度倒序插入(关键是倒序!)。