题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路与代码
一开始想用split函数将原字符串进行分割,再遍历添加,后面发现直接遍历也很简单,就用暴力法做了。做的过程中又复习了一遍字符串的基本操作,例如由于字符串只能读取,不能进行增删改的操作,所以我们需要先使用StringBuilder或是StringBuilder来盛放,最后再利用toString()进行转换。还要注意空格的书写是' ',而不是单纯两个单引号。贴上代码:

public class Solution {
    public String replaceSpace(StringBuffer str) {
        if(str == null) return null;
        StringBuilder ans = new StringBuilder();
        for(int i = 0; i < str.length(); i++) {
            if(str.charAt(i) == ' ') {
                ans.append('%');
                ans.append('2');
                ans.append('0');
            }
            else {
                ans.append(str.charAt(i));
            }
        }
        return ans.toString();
    }
}