官方解答 · 置頂Java
官方解答|展場標籤整理
官方解答|展場標籤整理
解題思路
先 trim,再以一個以上半形空格切成單字。只選取偶數長度,逐字轉為大寫,接著依原序排列,最後用 | 連接。篩選在轉換之前進行。
正確性與邊界
空白輸入先辨識為空清單,避免 split 產生假的空單字;沒有符合單字時 String.join 回傳空字串。大小寫以 Locale.ROOT 處理,避免伺服器語系影響結果。
複雜度
設 L 為文字長度、k 為單字數。時間 O(L),額外空間 O(L)。
公開範例
輸入 {"text": "Java 11"},依上述步驟得到 "JAVA|11"。
下方程式可直接取代起始碼;使用 Java 11,入口為 Solution.solve。
CodeSprout 官方解答 · 題意分析、解題步驟與完整參考程式
import java.util.*;
public class Solution {
public static String solve(String text) {
String clean = text.trim();
List<String> result = new ArrayList<>();
if (!clean.isEmpty()) {
for (String word : clean.split(" +")) {
if (word.length() % 2 == 0) result.add(word.toUpperCase(Locale.ROOT));
}
}
return String.join("|", result);
}
}
留言討論 0
登入 後就能留言,一起討論不同的寫法。