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

来源:互联网 发布:三国吴国知乎 编辑:程序博客网 时间:2024/06/07 18:08

先找出空格的个数,计算整体的偏移,再从后往前遍历字符串,做替换

void replaceSpace(char *str,int length) {        if(str==NULL||length<0){            return;        }        int numberOfBlank=0;        int originalLength=0;        int i=0;        while(str[i]!='\0'){            if(str[i]==' '){                numberOfBlank++;            }            i++;            originalLength++;        }        int newLength=originalLength+numberOfBlank*2;        if(newLength>length){            return;        }        int indexOfOriginal=originalLength;        int indexOfNew=newLength;                while(indexOfNew>indexOfOriginal&&indexOfOriginal>=0){            if(str[indexOfOriginal]==' '){                str[indexOfNew--]='0';                str[indexOfNew--]='2';                str[indexOfNew--]='%';            }else{                str[indexOfNew--]=str[indexOfOriginal];            }            indexOfOriginal--;        }    }


阅读全文
0 0
原创粉丝点击