目錄
第一題:01.03. URL化
第二題:1528. 重新排列字元串
第一題:01.03. URL化
URL化。編寫一種方法,将字元串中的空格全部替換為%20。假定該字元串尾部有足夠的空間存放新增字元,并且知道字元串的“真實”長度。(注:用Java實作的話,請使用字元數組實作,以便直接在數組上操作。)
示例 1:
輸入:"Mr John Smith ", 13
輸出:"Mr%20John%20Smith"
示例 2:
輸入:" ", 5
輸出:"%20%20%20%20%20"
public static String replaceSpaces(String S, int length) {
// 将字元串轉為數組
char[] chars = S.toCharArray();
// 計算空格數量
int spaceNum = 0;
for (int i = 0; i < length; i++) {
if(chars[i] == ' '){
spaceNum++;
}
}
// 建構新數組存放結果
char[] newResult = new char[length + spaceNum*2];
int index = 0;
// 周遊原字元數組
for (int i = 0; i < length; i++) {
if(chars[i] == ' '){
newResult[index++] = '%';
newResult[index++] = '2';
newResult[index++] = '0';
}else{
newResult[index++] = chars[i];
}
}
return new String(newResult);
}
第二題:1528. 重新排列字元串
給你一個字元串 s 和一個 長度相同 的整數數組 indices 。
請你重新排列字元串 s ,其中第 i 個字元需要移動到 indices[i] 訓示的位置。
傳回重新排列後的字元串。
示例 3:
輸入:s = "aiohn", indices= [3,1,4,2,0]
輸出:"nihao"
public static String restoreString(String s, int[] indices) {
// 臨時存儲排序後的字元數組
char[] tempChar = new char[indices.length];
// 周遊 indices
for (int i = 0; i < indices.length; i++) {
tempChar[indices[i]] = s.charAt(i);
}
// 輸出
return new String(tempChar);
}