classSolution { public: string replaceSpace(string s){ int num = 0; for(int i = 0; i < s.size(); i++){ if(s[i] == ' ') num++; } int left = s.size() - 1; s.resize(s.size() + num*2); int newSize = s.size(); int right = newSize - 1; for(; left < right; left--, right--){ if(s[left] != ' ')s[right] = s[left]; else{ s[right] = '0'; s[right-1] = '2'; s[right-2] = '%'; right -= 2; }
} return s; } };
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
classSolution: defreplaceSpace(self, s: str) -> str: num = s.count(' ') res = list(s) res.extend([' '] * num * 2)
left, right = len(s) - 1, len(res) - 1
while left >= 0: if res[left] != ' ': res[right] = res[left] right -= 1 else: res[right - 2 : right + 1] = '%20' right -= 3 left -= 1 return''.join(res)