[2] 替换空格(简单)
[2] 替换空格(简单)

题目描述

请实现一个函数,将一个字符串中的每个空格替换成 “%20”。例如,当字符串为 We Are Happy,则经过替换之后的字符串为 We%20Are%20Happy
输入:"We Are Happy"
返回值:"We%20Are%20Happy"

解题思路

追加到新字符串

/**
 * 追加到新字符串
 *
 * T(n) S(n)
 */
public static String replaceSpace (String s) {
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < s.length(); i++) {
        if (s.charAt(i) == ' ') {
            sb.append("%20");
        } else {
            sb.append(s.charAt(i));
        }
    }
    return sb.toString();
}

分割成数组

/**
 * 分割成数组
 *
 * T(n) S(n)
 */
public static String replaceSpace(String s) {
    StringBuilder sb = new StringBuilder();
    String[] strs = s.split("");
    for (String str : strs) {
        if (" ".equals(str)) {
            sb.append("%20");
        } else {
            sb.append(str);
        }
    }
    return sb.toString();
}

全部替换

/**
 * 全部替换
 *
 * T(n) S(n)
 */
public static String replaceSpace (String s) {
    return s.replaceAll(" ", "%20");
}