Bootstrap

剑指offer002-替换空格

1.题目
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

 

示例 1:

输入:s = "We are happy."
输出:"We%20are%20happy."
 

限制:

0 <= s 的长度 <= 10000

2.分析
  • 总体思路:遍历字符串,每遇到一个空格,截取字符串,再加"%20"
  • int start, end;初始都为0,s.substring(start, end)是要在原字符串截取的子字符串。
3.我的代码
class Solution {
    public String replaceSpace(String s) {
        int start = 0;
        int end = 0;
        String res = "";
        while(end < s.length()) {
            if (s.charAt(end) == ' ') {
                res = res + s.substring(start, end) + "%20";
                start = end + 1;
            }
            end++;
        }
        return res + s.substring(start);
    }
}
4.题解代码
class Solution {
    public String replaceSpace(String s) {
        StringBuilder res = new StringBuilder();
        for(Character c : s.toCharArray())
        {
            if(c == ' ') res.append("%20");
            else res.append(c);
        }
        return res.toString();
    }
}
;