leetcode 面試題05. 替換空格

【題目】面試題05. 替換空格

請實現一個函數,把字符串 s 中的每個空格替換成"%20"。

示例 1:

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

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

【解題思路1】s.replace() 或者 StringBuilder

class Solution {
    public String replaceSpace(String s) {
        return s.replace(" ","%20");
    }
}
class Solution {
    public String replaceSpace(String s) {
        StringBuilder newS = new StringBuilder();
        for (Character tmp: s.toCharArray()) {
            newS.append(tmp ==' ' ? "%20" : tmp);  // 建議使用三目表達式。相等於if else
        }
        return newS.toString();
    }
}

【解題思路2】char數組

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 == ' ') {
                array[size++] = '%';
                array[size++] = '2';
                array[size++] = '0';
            } else {
                array[size++] = c;
            }
        }
        String newStr = new String(array, 0, size);
        return newStr;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章