题目描述
难度:简单
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
分析
最开始用的 String 类的 replaceAll 方法,慢的飞起,String 类对象的每一次操作都会创建新的对象,而不会修改原对象;
后来换成了遍历字符串 s,利用 StringBuilder 的 append 来追加字符串,这个效率很高,非常快;
代码:
public static String replaceSpace(String s) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
if(s.charAt(i) == ' '){
builder.append("%20");
}else {
builder.append(s.charAt(i));
}
}
return builder.toString();
// return s.replaceAll(" ", "%20"); // 慢的飞起
}
总结
StringBuilder处理字符串的效率很高,经常需要更改结构的字符串推荐使用。
岁月悠悠,衰微只及肌肤;热忱抛却,颓废必致灵魂