您的位置:首页 > Web前端

剑指offer第4题 空格替换

2013-05-09 14:29 260 查看
先统计空格数目,然后从后往前处理 时间复杂度O(n)

//将给定字符串中的空格替换成%20

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;

const int Max_Size = 500;
char str[Max_Size];

int main()
{
while(cin.getline(str,Max_Size))
{
int count = 0,i = 0,j = 0,size = strlen(str);
while( i < size)
{
if(str[i] == ' ')
count++;
++i;
}
i = size + 2 * count -1;
j = size - 1;
while(i >= 0 && j >= 0)
{
if(str[j] != ' ')
{
str[i] = str[j];
--i;
--j;
}
else
{
str[i] = '0';
str[i-1] = '2';
str[i - 2] = '%';
--j;
i -= 3;
}
}
cout<<str<<endl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: