您的位置:首页 > 其它

替换字符串中的空格为%20--20150925

2015-09-27 23:32 295 查看
//题目描述:将字符串中的空格转换成“%20”

//思路:先统计字符串中有n空格,再将字符串增加2n个长度,
//再用两个指针从后向前走,一个A初始指向新字符串最后,
//另一个B指向旧字符串的最后,B向前走时把非空的字符放在A的位子,
//A再向前走,若B指向了空格,则A依次赋值02%,直到走到字符串的头部。

void ReplaceBlank(char string[],int length){
int lengthstring = 0;
int blanknum = 0;
int i=0;
while(string[i]!='\0'){
lengthstring++;
if(string[i]==' '){
blanknum++;
}
i++;
}
int newlength = length + 2*blanknum;
if(newlength>length){
return;
}
int indexorigin = lengthstring;
int indexnew = newlength;
while(indexorigin>=0&&indexorigin<indexnew){
if(string[indexorigin]!=' '){
string[indexnew--] = string[indexorigin];
}else{
string[indexnew--] = '0';
string[indexnew--] = '2';
string[indexnew--] = '%';
}
indexorigin--;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: