剑指 Offer 05. 替换空格 # java #StringBuilder

107 阅读1分钟

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

解题思路

把String转化为数组,遍历字符数组,遇到空格就改为"%20"即可。

这里容器用数组、StringBuilder都可,但不要使用StringBuffer

解法一:StringBuilder

声明一个StringBuilder来拼接字符串,调用String的toCharArray方法把String转换为字符数组,然后遍历字符数组,如果是空格就拼接"%20",最后调用StringBuilder的toString方法返回结果即可。

代码

class Solution {
    public String replaceSpace(String s) {
        StringBuilder res = new StringBuilder();
        for(char c : s.toCharArray()){
            if(c == ' '){
                res.append("%20");
            }else{
                res.append(c);
            }
        }
        return res.toString();
    }
}

注意java的增强for中间用的是冒号,我一开始还写成了in... = =