栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > C/C++/C#

剑指 Offer 05. 替换空格

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

剑指 Offer 05. 替换空格

No2.剑指 Offer 05. 替换空格

原题地址:剑指 Offer 05. 替换空格

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

示例 1:

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

限制:

0 <= s 的长度 <= 10000

解题思路: 

字符串中的空格替换为"%20",所以我们要找到空格,为了方便寻找,使用一个字符数组来存储该字符串,特别注意空间要足够大,因为一个空格变为%20占用了3个位置,所以新建数组的大小应该是字符串的3倍。然后比较字符串中的字符是否为空格。最后返回的值是字符串,所以我们要用

String newStr = new String(array, 0, size);//数组变为字符串

下面是图例

 Java代码实现:

//字符数组遍历法
class Solution {
    public String replaceSpace(String s) {
        int length = s.length();//获取字符串长度
        char[] array = new char[length * 3];//将字符串存到字符数组,保留有足够容纳空间
        int size = 0;//字符数组的长度
        for (int i = 0; i < length; i++) {
            char c = s.charAt(i);
            if (c == ' ') {//如果是空格就依次赋予%20
                array[size++] = '%';
                array[size++] = '2';
                array[size++] = '0';
            } else {
                array[size++] = c;//不是空格就直接存到数组
            }
        }
        String newStr = new String(array, 0, size);//数组变为字符串
        return newStr;
    }
}

运行结果:

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1038281.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号