您的位置:首页 > 职场人生

面试题4:字符串_空格替换

2016-07-23 09:54 567 查看
/*
面试题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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: