【剑指 Offer】05.替换空格

题目描述

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

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

限制:
0 <= s 的长度 <= 10000

Java

public class Solution05 {
    public static void main(String[] args) {
        Solution05 s = new Solution05();
        System.out.println(s.replaceSpace("We are happy."));
        System.out.println(s.replaceSpace2("We are happy."));
    }

    /**
     * 方法一:遍历添加
     * 在 Python 和 Java 等语言中,字符串都被设计成「不可变」的类型,
     * 即无法直接修改字符串的某一位字符,需要新建一个字符串实现,所以无法原地修改。
     * 
     * 时间复杂度 O(n) 空间复杂度 O(n)
     * @param s
     * @return
     */
    public String replaceSpace(String s) {
        StringBuilder res = new StringBuilder();
        char[] arr = s.toCharArray();
        for (char c : arr) {
            if (c == ' ') {
                res.append("%20");
            } else {
                res.append(c);
            }
        }

        return res.toString();
    }

    /**
     * 方法二:调用 API
     */
    public String replaceSpace2(String s) {
        return s.replace(" ", "%20");
    }
}

C++


Python


总结

原文地址:https://www.cnblogs.com/parzulpan/p/14214213.html