给你一个由若干单词组成的句子 sentence ,单词间由空格分隔。每个单词仅由大写和小写英文字母组成。

    请你将句子转换为 “山羊拉丁文(Goat Latin)”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。山羊拉丁文的规则如下:

    如果单词以元音开头(’a’, ‘e’, ‘i’, ‘o’, ‘u’),在单词后添加”ma”。
    例如,单词 “apple” 变为 “applema” 。
    如果单词以辅音字母开头(即,非元音字母),移除第一个字符并将它放到末尾,之后再添加”ma”。
    例如,单词 “goat” 变为 “oatgma” 。
    根据单词在句子中的索引,在单词最后添加与索引相同数量的字母’a’,索引从 1 开始。
    例如,在第一个单词后添加 “a” ,在第二个单词后添加 “aa” ,以此类推。
    返回将 sentence 转换为山羊拉丁文后的句子。

    示例 1:

    输入:sentence = “I speak Goat Latin”
    输出:”Imaa peaksmaaa oatGmaaaa atinLmaaaaa”
    示例 2:

    输入:sentence = “The quick brown fox jumped over the lazy dog”
    输出:”heTmaa uickqmaaa rownbmaaaa oxfmaaaaa umpedjmaaaaaa overmaaaaaaa hetmaaaaaaaa azylmaaaaaaaaa ogdmaaaaaaaaaa”

    提示:

    1 <= sentence.length <= 150
    sentence 由英文字母和空格组成
    sentence 不含前导或尾随空格
    sentence 中的所有单词由单个空格分隔


    1. class Solution {
    2. public String toGoatLatin(String sentence) {
    3. String[] ss = sentence.split(" ");
    4. int n = ss.length;
    5. StringBuilder res = new StringBuilder();
    6. for (int i = 0; i < n; ++i) {
    7. String s = ss[i];
    8. char c = s.charAt(0);
    9. char t = c;
    10. if (t >= 'A' && t <= 'Z') t = (char)(t + 32);
    11. if (t == 'a' || t == 'e' || t == 'i' || t == 'o' || t == 'u')
    12. s = s + "ma";
    13. else
    14. s = s.substring(1, s.length()) + c + "ma";
    15. for (int j = 0; j < i + 1; ++j) s += "a";
    16. res.append(s);
    17. if (i != n - 1) res.append(" ");
    18. }
    19. return res.toString();
    20. }
    21. }