[LeetCode](面試題05)替換空格

題目

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

示例 1:

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

限制:

0 <= s 的長度 <= 10000

解題思路

1)初始化一個 StringBuilder ,記爲 res ;
2)將 s 轉爲字符數組,遍歷數組中的每個字符 c :
2.1)當 c 爲空格時:向 res 後添加字符串 “%20”;
2.2)當 c 不爲空格時:向 res 後添加字符 c ;
3)將 res 轉化爲 String 類型並返回。

複雜度分析:
時間複雜度 O(N): 遍歷使用 O(N),每輪添加修改操作時間複雜度爲O(1) 。
空間複雜度 O(N) :Java 的 StringBuilder 使用了線性大小的額外空間。

代碼

class Solution {
    public String replaceSpace(String s) {
        StringBuilder res = new StringBuilder();
        for(Character c : s.toCharArray()){
            if(c == ' '){
                res.append("%20");
            }else{
                res.append(c);
            }
        }
        return res.toString();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章