思路一:使用額外的集合輔助求解
構(gòu)建一個StringBuffer默色,遍歷字符串,如果不是空格就直接加入StringBuffer中,如果是空格的話就添加"%20"進StringBuffer中慈鸠,最后返回結(jié)果御雕。
時間復雜度:O(n) ,只遍歷了一次字符串。
空間復雜度:O(n)削樊,使用了大小為n的額外空間
- 代碼實現(xiàn):
class Solution {
public String replaceSpace(String s) {
if(s.length() == 0){
return s;
}
StringBuffer res = new StringBuffer();
int index = 0;
while(index < s.length()){
char a = s.charAt(index);
if(a != ' '){
res.append(a);
}else{
res.append("%20");
}
index++;
}
return res.toString();
}
}
解法二豁生,直接調(diào)用API
- 代碼:
class Solution {
public String replaceSpace(String s) {
if(s.length() == 0){
return s;
}
return s.replace(" ", "%20");
}
}