原题连接
亮点/所学
- char* 可以通过string的构造函数直接创建,string 转char* 则需要使用strcmp()
- string find函数,insert函数,erase函数的使用
代码
class Solution {
public:
void replaceSpace(char *str,int length) {
string s(str); // 构建string
int i = 0;
//i == -1表示未找到,i表示的上一个找到的空格的位置
while((i = s.find(" ",i)) > -1){
s.erase(i,1);//i表示下标,1表示几个元素
s.insert(i,"%20");
}
auto ret = s.c_str();
strcpy(str,ret);
}
};