剑指Offer面试题2:替换空格

来源:互联网 发布:硬盘分区后数据恢复 编辑:程序博客网 时间:2024/06/07 16:58

如书中介绍实现

#include<iostream>using namespace std;void replaceblank(char sentence[],int length,int orilen, int blalen){    if (sentence == NULL || length <= 0)        return;    int p1=orilen;    int p2=orilen+2*blalen;    if(p2>length)        return;    while (p1!=p2)    {        if(sentence[p1]!=' ')            sentence[p2--]=sentence[p1--];        else{            sentence[p2--]='0';            sentence[p2--]='2';            sentence[p2--]='%';            --p1;        }    }}int main(){    char sentence[100] = "We Are Happy.";    int orilength = 0;    int blalength = 0;    while(sentence[orilength]!='\0')    {        if(sentence[orilength]==' ')            ++blalength;        ++orilength;    }    cout<<sentence<<endl;    replaceblank(sentence,sizeof(sentence),orilength,blalength);    cout<<sentence<<endl;}


0 0
原创粉丝点击