您的位置:首页 > Web前端

剑指offer-0x04

2016-03-29 23:36 316 查看




#include <iostream>

using namespace std;

void ReplaceBlank(char str[], int length)
{
if(str == NULL || length<=0)
return;
int originalLength = 0;
int numofBlank = 0;
int i = 0;
//计算原字符串的长度,并统计空格个数
while(str[i]!= '\0')
{
originalLength ++;
if(str[i] == ' ')
numofBlank ++;
i++;
}
//每替换一个空格,长度增加2
int newlength = originalLength + numofBlank * 2;
if(newlength>length)
return;
int indexofOriginal = originalLength;
int indexofNew = newlength;

while(indexofOriginal>=0 && indexofNew>indexofOriginal)
{
if(str[indexofOriginal]==' ')
{
str[indexofNew--]='0';
str[indexofNew--]='2';
str[indexofNew--]='%';
}
else
str[indexofNew--]=str[indexofOriginal];
indexofOriginal--;
}

}

int main()
{
char str[]="hello world hello c++";
ReplaceBlank(str,100);
cout << "result is  "<< str<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: