题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
package com.happy.algorithm.offer;
/**
* 替换空格
*/
public class ReplaceSpace {
public static void main(String[] args) {
}
public String replaceSpace(StringBuffer str) {
char[] chars = str.toString().toCharArray();
int charsLength = chars.length;
int spaceCount = 0;
for (int i = 0; i < charsLength; i++) {
if (chars[i] == ' ') {
spaceCount++;
}
}
char[] finChars = new char[charsLength + 2 * spaceCount];
int pos = finChars.length - 1;
for (int i = charsLength - 1; i >= 0; i--) {
if (chars[i] != ' ') {
finChars[pos--] = chars[i];
} else {
finChars[pos--] = '0';
finChars[pos--] = '2';
finChars[pos--] = '%';
}
}
return new String(finChars);
}
}