剑指 Offer 05. 替换空格
题目描述:
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
提示:
2 <= nums.length <= 104
-109 <= nums[i] <= 109
-109 <= target <= 109
只会存在一个有效答案
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
C++代码
class Solution {
public:
string replaceSpace(string s) {
int oldSize = s.size();
int count = 0;
for (int i = 0; i < s.size(); i++) {
if (s[i] == ' ') ++count;
}
s.resize(oldSize + 2*count);
for (int i = oldSize - 1, j = oldSize + 2 * count -1; i >=0; i--) {
if (s[i] == ' ') {
s[j] = '0';
s[j-1] = '2';
s[j-2] = '%';
j -= 3;
}
else {
s[j] = s[i];
j--;
}
}
return s;
}
};
318

被折叠的 条评论
为什么被折叠?



