zoukankan      html  css  js  c++  java
  • 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);
    }
    
  • 相关阅读:
    Java CountDownLatch应用
    servlet 表单
    servlet简单方法
    MySQL WHERE
    JavaScript typeof
    JavaScript字符串
    jsp语法
    HTML链接
    2021.3.10
    2021.3.9
  • 原文地址:https://www.cnblogs.com/chenrj97/p/14321223.html
Copyright © 2011-2022 走看看