算法题目---替换空格
2017-06-30 09:52
295 查看
请实现一个函数,把字符串中的每个空格替换成"%02",例如输入"We are happy.",则输出" We%20are%20happy."
using namespace std;
void ReplaceBlank(char string[],int length)
{
if(string == NULL || length <= 0)
{
return ;
}
int originalLength = 0;
int numberOfBlank = 0;
int i = 0;
while(string[i] != '\0')
{
++originalLength;
if(string[i] == ' ')
++ numberOfBlank;
++i;
}
int newLength = originalLength + numberOfBlank * 2;
if(newLength > length)
return;
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;
}
}
void test()
{
char string [20] = "w d";
printf("%s\n",string);
ReplaceBlank(string,20);
printf("%s\n",string);
}
using namespace std;
void ReplaceBlank(char string[],int length)
{
if(string == NULL || length <= 0)
{
return ;
}
int originalLength = 0;
int numberOfBlank = 0;
int i = 0;
while(string[i] != '\0')
{
++originalLength;
if(string[i] == ' ')
++ numberOfBlank;
++i;
}
int newLength = originalLength + numberOfBlank * 2;
if(newLength > length)
return;
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;
}
}
void test()
{
char string [20] = "w d";
printf("%s\n",string);
ReplaceBlank(string,20);
printf("%s\n",string);
}
相关文章推荐
- 算法题目--替换空格
- 题目1510:替换空格 jobdu
- 【剑指offer之题目1510:替换空格 】九度OJ-1510-替换空格
- 题目1510:替换空格
- 二维数组中的查找、空格替换、从尾到头打印链表 --漫漫算法路 刷题篇
- 算法爱好者——算法题:替换字符串中的空格 ? 待解决
- 字符串替换空格题目
- 剑指offer-4/题目1510:替换空格
- [九度OnlineJudge][剑指Offer]题目1510:替换空格
- 九度oj_题目1510:替换空格
- 九度OJ-题目1510:替换空格
- 替换空格算法
- 跟我一起学算法系列4---替换空格
- 算法练习:将字符串中所有的空格替换为'%20'(只用基本数据结构)
- 剑指offer-算法题练习:part2 替换空格
- [Jobdu] 题目1510:替换空格
- 算法学习之旅,初级篇(19)--替换空格
- 算法学习记录二(C++)--->字符串空格替换
- 题目:空格替换
- 【我的算法日记】请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。