【題目】面試題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;
}
}