您的位置:首页 > Web前端

剑指offer例题4—替换空格

2012-12-29 19:10 429 查看
#include<iostream>
#include<string>
using namespace std;
void ReplaceBlank(char *str,int length)
{
if(str==NULL&&length<0)return;
int i=0;
int j=0;
for(i=0;str[i]!='\0';i++)
{
if(str[i]==' ')j++;
}
int newlength=i+2*j;
if(newlength>=length)return;
int l=i-1;
for(int k=newlength-1;k>=0&&k>=l;)
{
if(str[l]==' ')
{
str[k--]='0';
str[k--]='2';
str[k--]='%';
l--;
}
else
str[k--]=str[l--];
}
str[newlength]='\0';
}
int main()
{
int n=100;char str[100];
while(gets(str))
{
ReplaceBlank(str,n);
cout<<str<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: