/*
面试题4:替换空格
题目:请实现一个函数,把字符串中的每一个空格替换成"%20"。
例子:
Input: "We are happy."
Output: "We%20are%20happy."
*/
void replaceblank(char string[],int length){//length为string的总容量
if (string == NULL || length <= 0){
return;
}
/*originalLength为字符串string的实际长度*/
int originalLength = 0;
int numOfBlank = 0;
int i = 0;
while (string[i] != '\0'){
++originalLength;
if (string[i] == ' ')
++numOfBlank;
++i;
}
/*newLength为把空格替换成'%20'之后的长度*/
int newLength = originalLength + numOfBlank * 2;
int indexOfOriginal = originalLength;
int indexOfNew = newLength;
while (indexOfOriginal>0&&indexOfNew>indexOfOriginal){
if (string[indexOfOriginal] == ' '){
string[indexOfNew--] = '0';
string[indexOfNew--] = '2';
string[indexOfNew--] = '%';
}
else{
string[indexOfNew--] = string[indexOfOriginal];
}
--indexOfOriginal;
}
}面试题4:字符串_空格替换
最新推荐文章于 2020-09-20 21:25:12 发布
本文介绍了一种将字符串中所有空格替换为'%20'的方法。通过计算空格数量来确定新字符串长度,并从后向前逐个字符进行替换,确保了原字符串的空间得到有效利用。
867

被折叠的 条评论
为什么被折叠?



