码迷,mamicode.com
首页 > 其他好文 > 详细

剑指offer 替换字符串中的空格

时间:2016-05-07 14:58:03      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

void replaceSpace(char *str,int length) {
        if(str==NULL||length<=0)
            return;
        int originlen=0;
        int newlen=0;
        int space=0;
        while(str[originlen]!=‘\0‘)
        {
            if(str[originlen]==‘ ‘)
                space++;
            originlen++;
        }
        originlen++;
        newlen=originlen+2*space;
        if(originlen==1||space==0||newlen>length)
            return;
        char *p1,*p2;
        p1=&str[originlen-1];
        p2=&str[newlen-1];
        for(int i=0;i<newlen;i++)
        {
            if(*p1!=‘ ‘)
            {
                *p2=*p1;
                p1--;
                p2--;
            }
            else
            {
                *p2=‘0‘;
                p2--;
                *p2=‘2‘;
                p2--;
                *p2=‘%‘;
                p2--;
                p1--;
            }
            
        }
        return;
    }

把代码整理简化一下:

void replaceSpace(char *str,int length) {
        if(str==NULL||length<=0)
            return;
        int originlen=0;
        int newlen=0;
        int space=0;
        while(str[originlen]!=‘\0‘)
        {
            if(str[originlen++]==‘ ‘)
                space++;
        }
        originlen++;
        newlen=originlen+2*space;
        if(originlen==1||space==0||newlen>length)
            return;
        int p1=originlen-1;
        int p2=newlen-1;
        for(int i=0;i<newlen;i++)
        {
            if(str[p1]!=‘ ‘)
                str[p2--]=str[p1--];
            else
            {
                str[p2--]=‘0‘;
                str[p2--]=‘2‘;
                str[p2--]=‘%‘;
                p1--;
            }
            
        }
        return;
    }

 

剑指offer 替换字符串中的空格

标签:

原文地址:http://www.cnblogs.com/summerkiki/p/5468324.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!