您的位置:首页 > 移动开发

实现一个函数,将一个字符串中的空格替换成“ ”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We Are Happy

2017-09-25 12:04 621 查看
先找出空格的个数,计算整体的偏移,再从后往前遍历字符串,做替换

void replaceSpace(char *str,int length) {
if(str==NULL||length<0){
return;
}
int numberOfBlank=0;
int originalLength=0;
int i=0;
while(str[i]!='\0'){
if(str[i]==' '){
numberOfBlank++;
}
i++;
originalLength++;
}
int newLength=originalLength+numberOfBlank*2;
if(newLength>length){
return;
}
int indexOfOriginal=originalLength;
int indexOfNew=newLength;

while(indexOfNew>indexOfOriginal&&indexOfOriginal>=0){
if(str[indexOfOriginal]==' '){
str[indexOfNew--]='0';
str[indexOfNew--]='2';
str[indexOfNew--]='%';
}else{
str[indexOfNew--]=str[indexOfOriginal];
}
indexOfOriginal--;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐