请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
题解
- 首先想到用替换函数 replace(" “,”%20"); 将原字符串进行替换
- 用字符串的 replaceAll 函数也可以,但是效率没有 replace 好
- 不使用函数,使用StringBuilder
创建stringBuilder对象str
将遍历的单个字符赋值给 ch
接着判断该字符是不是为空格
如果是空格,就在str后面追加(append)%20
如果不是空格,直接在str后面追加该字符就好了
最后将str引用转换成字符串(toString())
public class Solution {
public static String replaceSpace(String s) {
StringBuilder str = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if(s.charAt(i)==' '){
str.append("%20");
}else {
str.append(s.charAt(i));
}
}
return str.toString();
}
}