leetcode (Goat Latin)
阿新 • • 發佈:2018-12-23
Title:Goat Latin 824
Difficulty:Easy
原題leetcode地址: https://leetcode.com/problems/goat-latin/
1. 見程式碼註釋
時間複雜度:O(n),一次一層for迴圈。
空間複雜度:O(n),通過split()方法切割了字串,最長為字串長度。
/** * 呼叫split分割,依次判斷,最後悔多一個空格需要刪除 * @param S * @return */ public static String toGoatLatin(String S) { StringBuilder sb = new StringBuilder(); String cs[] = S.split(" "); for (int i = 0; i < cs.length; i++) { char first = cs[i].charAt(0); if (isVowel(first)) { sb.append(cs[i]); } else { sb.append(cs[i].substring(1)); sb.append(cs[i].substring(0, 1)); } sb.append("ma"); for (int j = 0; j <= i; j++) { sb.append("a"); } sb.append(" "); } sb.deleteCharAt(sb.length() - 1); return sb.toString(); } /** * 是否為母音 * @param c * @return */ private static boolean isVowel(char c) { switch (c) { case 'a': case 'A': case 'e': case 'E': case 'i': case 'I': case 'o': case 'O': case 'u': case 'U': return true; } return false; }