前言
学习记录,自用。可能存在问题。
描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
代码
#include <cstring> class Solution { public: void replaceSpace(char* str, int length) { string res ,s = str; for(char c :s){ if(c==' ') res += "%20"; else res += c; } strcpy(str, res.c_str()); } };
思路
构造一个中间临时string res,将char * str转换成 string s 后遍历s类型数遇到空格就替换成“%20”,其他依次添加。
难点
- char* 与string之间的转换关系;
- char*数据类型的复制函数strcpoy();
- string类型的使用方法;
总结
简单,但是使用auto会加大计算时间,所以在知道变量类型时尽可能直接写变量类型不要用auto