Loading

剑指 Offer 05. 替换空格

开辟新字符串

在java中,字符串是不可变类型,无法原地修改,所以需要开辟一个新的字符串,遍历原字符串,不是空格直接添加,如果是空格的话,直接添加“%20”

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();
    }
}

原地替换

在c++中字符串是可变的,所以可以原地替换

还有一种办法是双指针,以前遇到过,但是忘了是那一道题,以后遇到在回来
image


toCharArray() 方法将字符串转换为字符数组

image

posted @ 2021-12-27 10:17  Zhbeii  阅读(25)  评论(0编辑  收藏  举报