剑指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;
}
#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;
}
相关文章推荐
- 剑指offer:替换空格
- 【剑指offer-Java版】04替换空格
- 剑指offer,面试题四替换空格
- 剑指Offer之替换空格(题4)
- 剑指Offer学习之面试题4 : 替换空格
- 牛客网-剑指Offer-替换空格
- 剑指offer-02-将一个字符串中的空格替换成“%20”
- 剑指Offer 替换空格
- 剑指offer 替换空格
- 10分钟一题剑指OFFER-替换空格
- 【剑指Offer学习】【面试题4 : 替换空格】
- 【面试题】剑指Offer-4-替换空格
- 剑指offer面试题java实现之题4:替换空格
- 剑指Offer面试题:3.替换空格
- 剑指offer 替换空格
- 剑指offer--替换空格 java实现
- 剑指offer之面试题4替换空格
- 剑指offer--(2) 替换空格
- 剑指offer-->面试题4 替换空格
- 剑指offer面试题4 替换空格