剑指offer 第二题 替换空格 C++版

题目

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
知识点:字符串处理(string类型变量的使用)

解题思路

本题使用string来简化增加长度为3的字符串的难度,用string类型的str2存储修改后的字符串,如果str[i]是空格,str2增加“%20”,否则str2增加上str[i],最后用strcpy函数将str.c_str()复制给str。

代码

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

你可能感兴趣的:(剑指offer,c++)