剑指offer 替换空格

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

代码:

class Solution {
public:
    void replaceSpace(char *str,int length) {
        string temp(str);
        for(int i = 0; temp[i] != '\0'; i ++){
            if( temp[i] == ' '){
                temp.replace(i,1,"%20");
            }
        }
        strcpy(str,temp.c_str());
    }
};

我的笔记:由于该题使用char* 类型,故无法直接改变其元素值,故使用string类型来进行操作,并将其使用c_str()函数转化为char*类型,并使用strcpy来覆盖原字符串。

posted @ 2020-05-15 14:10  John_yan15  阅读(107)  评论(0)    收藏  举报