码迷,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
迷上了代码!