本文共 1320 字,大约阅读时间需要 4 分钟。
额外定义一个 string 类型的字符串 str 用于保存替换后的字符串,然后遍历字符串 s,当 s[i] 不是空格时,直接将 s[i] 赋值给 str[i],当 s[i] 是空格时,在 str 后面添加字符串 “%20”。
class Solution { public: string replaceSpace(string s) { string str; for (int i = 0; i < s.length(); ++i) { if (s[i] == ' ') { str += "%20"; } else { str += s[i]; } } return str; }};
class Solution { public: string replaceSpace(string s) { int cnt = 0; // 记录字符串 s 中空格的个数 int len = s.length(); for (int i = 0; i < s.length(); ++i) { if (s[i] == ' ') { ++cnt; } } s.resize(s.size() + 2 * cnt); int i = len - 1, j = s.size() - 1; while (i < j) { if (s[i] == ' ') { s[j] = '0'; s[j-1] = '2'; s[j-2] = '%'; j -= 3; } else { s[j] = s[i]; --j; } --i; } return s; }};
转载地址:http://mrzmz.baihongyu.com/