首页 > 其他 > 详细

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

时间:2016-05-07 14:55:47      阅读:88      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!