请实现一个函数,把字符串中的每个空格替换成”%20”。例如输入 “We are happy.”,输出”We%20are%20happy.”。
这道题是针对 C++
出的,对于 Java
来说相对简单,用一个 StringBuiler
或者 StringBuffer
就可以了。不过这两个之间有略微的差别,StringBuiler
是非线程安全的,多线程环境下会出现问题,但效率更高,StringBuffer
则是线程安全的,但是效率相对较低。这题不涉及多线程编程,因此用 StringBuiler
就可以了。代码如下:
public String replaceSpace(StringBuffer str) {
StringBuilder sb = new StringBuilder();
int i = 0;
while (i < str.length()) {
if (str.charAt(i) == ' '){
sb.append("%20");
} else {
sb.append(str.charAt(i));
}
i++;
}
return sb.toString();
}