题目
剑指 Offer 05. 替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
思路
- 如果熟练api的话可以直接使用replace方法
- 但是能够直接使用库函数解决的一般都不是出题者的目的
- 考虑到Java的语言特性即字符串是不可变的
- 所以我们想到new一个StringBuileder不断追加
- 因为字符串不能遍历我们将字符串转为字符数组
- 遍历这个字符数组,当遇到字符 == 空格时即StringBuilder追加“%20”,否则就是追加原字符
- 当遍历完后返回Sting
详细代码
class Solution {
public String replaceSpace(String s) {
StringBuilder str = new StringBuilder();
char[] a = s.toCharArray();
for(char c:a){
if(c ==' '){
str.append("%20");
}else {
str.append(c);
}
}
return str.toString();
}
}