剑指 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

作者:Zhbeii

出处:https://www.cnblogs.com/zhbeii/p/15735214.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Zhbeii  阅读(27)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示