leetcode_824

package leetcode.string;

import org.apache.commons.lang.ArrayUtils;

import java.util.Arrays;

/**
 * Created by w84108989 on 2019/3/27.
 */
//给定一个由空格分割单词的句子 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"

public class latin_824 {
    public static String toGoatLatin(String S) {
        String[] s1 = S.split(" ");
        String res = "";
        for (int i = 0; i < s1.length; i++) {
            boolean isY = s1[i].toLowerCase().startsWith("a") || s1[i].toLowerCase().startsWith("e") || s1[i].toLowerCase().startsWith("i")
                    || s1[i].toLowerCase().startsWith("o") || s1[i].toLowerCase().startsWith("u");
            if (!isY){
                s1[i] = s1[i].substring(1,s1[i].length()) + s1[i].charAt(0);
            }
            s1[i] = s1[i].concat("ma");
            for (int j = 0; j < i+1; j++) {
                s1[i] += "a";
            }
            res  = res + " " + s1[i];
        }
        return res.substring(1,res.length());
    }

    public static void main(String[] args) {
        String a = "The quick brown fox jumped over the lazy dog";

        System.out.println(toGoatLatin(a));
    }
}

你可能感兴趣的:(leetcode)