代码拉取完成,页面将自动刷新
package com.fishercoder.solutions;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
* 824. Goat Latin
*
* A sentence S is given, composed of words separated by spaces. Each word consists of lowercase and uppercase letters only.
*
* We would like to convert the sentence to "Goat Latin" (a made-up language similar to Pig Latin.)
*
* The rules of Goat Latin are as follows:
*
* If a word begins with a vowel (a, e, i, o, or u), append "ma" to the end of the word.
* For example, the word 'apple' becomes 'applema'.
*
* If a word begins with a consonant (i.e. not a vowel), remove the first letter and append it to the end, then add "ma".
* For example, the word "goat" becomes "oatgma".
*
* Add one letter 'a' to the end of each word per its word index in the sentence, starting with 1.
* For example, the first word gets "a" added to the end, the second word gets "aa" added to the end and so on.
*
* Return the final sentence representing the conversion from S to Goat Latin.
*
* Example 1:
*
* Input: "I speak Goat Latin"
* Output: "Imaa peaksmaaa oatGmaaaa atinLmaaaaa"
*
* Example 2:
*
* Input: "The quick brown fox jumped over the lazy dog"
* Output: "heTmaa uickqmaaa rownbmaaaa oxfmaaaaa umpedjmaaaaaa overmaaaaaaa hetmaaaaaaaa azylmaaaaaaaaa ogdmaaaaaaaaaa"
*
* Notes:
*
* S contains only uppercase, lowercase and spaces. Exactly one space between each word.
* 1 <= S.length <= 100.
*/
public class _824 {
public static class Solution1 {
public String toGoatLatin(String S) {
StringBuilder sb = new StringBuilder();
Set<Character> vowels =
new HashSet(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));
String[] words = S.split(" ");
for (int i = 0; i < words.length; i++) {
if (vowels.contains(words[i].charAt(0))) {
String newWord = words[i] + "ma";
int j = i + 1;
while (j-- > 0) {
newWord += 'a';
}
sb.append(newWord);
sb.append(" ");
} else {
StringBuilder subSb = new StringBuilder(words[i].substring(1));
subSb.append(words[i].charAt(0));
subSb.append("ma");
int j = i + 1;
while (j-- > 0) {
subSb.append("a");
}
sb.append(subSb.toString());
sb.append(" ");
}
}
return sb.substring(0, sb.length() - 1);
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。