给定一个由空格分割单词的句子 S。每个单词只包含大写或小写字母。
我们要将句子转换为 “Goat Latin”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。
山羊拉丁文的规则如下:
如果单词以元音开头(a, e, i, o, u),在单词后添加"ma"。
例如,单词"apple"变为"applema"。
如果单词以辅音字母开头(即非元音字母),移除第一个字符并将它放到末尾,之后再添加"ma"。
例如,单词"goat"变为"oatgma"。
根据单词在句子中的索引,在单词最后添加与索引相同数量的字母'a',索引从1开始。
例如,在第一个单词后添加"a",在第二个单词后添加"aa",以此类推。
返回将 S 转换为山羊拉丁文后的句子。
示例 1:
输入: "I speak Goat Latin"
输出: "Imaa peaksmaaa oatGmaaaa atinLmaaaaa"
示例 2:
输入: "The quick brown fox jumped over the lazy dog"
输出: "heTmaa uickqmaaa rownbmaaaa oxfmaaaaa umpedjmaaaaaa overmaaaaaaa hetmaaaaaaaa azylmaaaaaaaaa ogdmaaaaaaaaaa"
首先将S转换为数组,依次遍历这个数组,如果是aeiouAEIOU开头就将am加到后面,并加i个a,如果不是就才从第二个字符开始截取,然后将第一个字符放在最后面,然后依次加ma和i个a
代码:
public static void main(String[] args) {
String s = "The quick brown fox jumped over the lazy dog";
System.out.println(toGoatLatin(s));
}
public static String toGoatLatin(String S) {
String [] srr = S.split(" ");
String ss = "";
System.out.println(Arrays.toString(srr));
for(int i = 0;i < srr.length;i++){
if(srr[i].charAt(0) == 'a' || srr[i].charAt(0) == 'A' ||
srr[i].charAt(0) == 'e' || srr[i].charAt(0) == 'E' ||
srr[i].charAt(0) == 'i' || srr[i].charAt(0) == 'I' ||
srr[i].charAt(0) == 'o' || srr[i].charAt(0) == 'O' ||
srr[i].charAt(0) == 'u' || srr[i].charAt(0) == 'U' ){
srr[i] = Add(srr[i], i);
}else{
srr[i] = srr[i].substring(1) + srr[i].charAt(0);
srr[i] = Add(srr[i], i);
}
if(i != srr.length - 1){
ss = ss + srr[i]+" ";
}else{
ss = ss + srr[i];
}
}
return ss;
}
public static String Add(String s,int i){
String ss = s + "ma";
for(int j = 0;j <= i;j++){
ss = ss + "a";
}
return ss;
}