
说难嘛,对于新手来说确实。
这里如果是新手的话,c++里面有一个类型叫做 string,是一个字符串类型,有字符要加进去就直接 += 就可以,相当方便。
class Solution {
public:
string replaceSpaces(string S, int length) {
string s;
for (int i = 0; i
如果还是不会。
这样,你先遍历一次看有多少空格,然后开好空间,再遍历一遍,遇到空格就在那个位置放上 %20
char* replaceSpaces(char* S, int length){
char *ans = (char *)malloc(sizeof(char) * (3 * length + 1));
int i = 0, j = 0;
for (; i < length; i++) {
if (S[i] == ' ') {
ans[j++] = '%';
ans[j++] = '2';
ans[j++] = '0';
} else ans[j++] = S[i];
}
ans[j] = '\0';
return ans;
}
ps:其实还有双指针,只需要遍历一遍,但是那种写起来不好掌握,刚写的话还是多遍历一遍吧