题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
解法一:replaceAll()
public class Solution {
public String replaceSpace(StringBuffer str) {
return str.toString().replaceAll("\\s", "%20");
}
}
运行时间:22ms
占用内存:9552k
这种方法十分简单,只需要一行代码。但是本题考查的并不是该函数的用法,所以还需要再想出一个解法。
解法二:新建字符串缓存
public class Solution {
public String replaceSpace(StringBuffer str) {
StringBuffer sb = new StringBuffer();
char[] charArray = str.toString().toCharArray();
for(int i = 0; i < charArray.length; i++) {
if(charArray[i] == ' ') {
sb.append("%20");
}
else {
sb.append(charArray[i]);