题目:请实现一个函数,把字符串中的每一个空格替换成“%20”。例如:输入“We are happy.”,则输出“We%20are%20happy.”.
思路:从后往前复制,数组的长度会增加,或者使用StringBuffer,StringBuild.
代码如下:
public String replaceSpace(StringBuffer str) {
if (str == null)
return null;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) { // charAt()方法用于返回指定索引处的字符,索引的范围0到length()-1。
if (String.valueOf(str.charAt(i)).equals(" ")) { // String.valueOf(char c)是将char变量c 转换成String类型。
sb.append("%20");
}else {
sb.append(str.charAt(i));
}
}
return String.valueOf(sb);
}
参考资料: 剑指offer,何海涛,电子工业出版社。