《剑指offer》-替换空格

来源:互联网 发布:端口地址查询位置 编辑:程序博客网 时间:2024/06/13 21:03

题目描述:

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解决思路:
1.统计出字符串中的空格个数count
2.最后多出来的字符数会是count*2,因为2和0占2个字符,空格字符留给%号
3.进行逆序赋值
class Solution {public:void replaceSpace(char *str,int length) {        int count = 0;        int i = 0;for(i = 0; i < length; i++){        if(str[i] == ' ')            count++;            }    for(i = length-1; i >= 0; i--){            if(str[i] != ' ')            str[i+count*2] = str[i];        else{        str[i+count*2] = '0';            str[i+count*2-1] = '2';            str[i+count*2-2] = '%';            count--;    }    }  }};



0 0