题解 | #替换空格#
替换空格
https://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return string字符串 */ string replaceSpace(string s) { if(s.length() == 0) return s; int originalLength = 0; int numberOfBlank = 0; for(int i = 0;i<s.length();i ++){ originalLength ++; if(s[i] == ' '){ numberOfBlank ++; } } for(int i = 0;i < 2 * numberOfBlank;i ++){ s.push_back(' '); } int newLength = originalLength + 2 * numberOfBlank; int p1 = originalLength -1; int p2 = newLength - 1; while(p1 >= 0){ if(s[p1] == ' '){ p1 --; s[p2 --] = '0'; s[p2 --] = '2'; s[p2 --] = '%'; } else{ s[p2 --] = s[p1 --]; } } return s; } };
特殊输入样例:""," "。