华为面试题----字符串替换

来源:互联网 发布:电视节目策划 知乎 编辑:程序博客网 时间:2024/06/06 20:33

题目描述

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。




voidreplaceSpace(char*str,intlength) {
        intspaceNum=0;
         
        for(inti=0;i<length;i++)
        {
            if(str[i]==' ')
                spaceNum++;
             
        }    
         
        intnewIndex=length+2*spaceNum;
        char*index=str+length;
        while(index>=str)
        {
            if(*index==' ')
            {
                str[newIndex--]='0';
                str[newIndex--]='2';
                str[newIndex--]='%';
            }
            else{
                str[newIndex--]=*index;
            }
            index--;
        }
    }
0 0