題目
請實現一個函數,把字符串 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();
}
}