• Easy | 剑指 Offer 05. 替换空格


    剑指 Offer 05. 替换空格

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

    示例 1:

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

    限制:

    0 <= s 的长度 <= 10000
    

    解题思路

    先扫描数组, 统计空格的数量, 每个空格替换成%20之后, 字符长度增加2.于是可以依次得到字符的总长度。然后再次扫描数组, 不过是从右往左扫描并赋值。遇到控制时, 就连续赋值三个字符。

    public String replaceSpace(String s) {
        if (s == null || s.length() == 0) {
            return "";
        } 
        int spaceCount = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == ' ') {
                spaceCount++;
            }
        }
        char[] res = new char[s.length()+2*spaceCount];
        for(int i = s.length()-1, j = res.length - 1; i >= 0; i--) {
            if (s.charAt(i) != ' ') {
                res[j] = s.charAt(i);
                j--;
            } else {
                res[j--] = '0'; 
                res[j--] = '2';
                res[j--] = '%';
            }
        }
        return String.valueOf(res);
    }
    
  • 相关阅读:
    JavaScript概述
    JavaScript概述
    python语法基础
    python 网络编程
    python 日志模块
    python 异常处理
    python tricks
    记录_省赛(一)
    异或加密算法
    三目条件运算符
  • 原文地址:https://www.cnblogs.com/chenrj97/p/14321223.html
Copyright © 2020-2023  润新知