1. 程式人生 > >[LeetCode javaScript] 824. 山羊拉丁文

[LeetCode javaScript] 824. 山羊拉丁文

給定一個由空格分割單詞的句子 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 中僅包含大小寫字母和空格。單詞間有且僅有一個空格。 1 <= S.length <= 150。

/**
 * @param {string} S
 * @return {string}
 */
var toGoatLatin = function(S) {
    var dd=S.split(" ");
    for(var i=0;i<dd.length;i++){
        if(dd[i][0]=="a"||dd[i][0]=="e"||dd[i][0]=="i"||dd[i][0]=="o"||dd[i][0]=="u"||dd[i][0]=="A"||dd[i][0]=="E"||dd[i][0]=="I"||dd[i][0]=="O"||dd[i][0]=="U"){
            dd[i]+="ma";
        }
        else{
            dd[i]=dd[i].slice(1)+dd[i][0]+"ma";
        }
        var p=i+1;
        while(p--){
        dd[i]+="a";}
    }
    var l=dd.join(" ");
    return l;
};