LeetCode-in-Java

824. Goat Latin

Easy

You are given a string sentence that consist 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:

Return the final sentence representing the conversion from sentence to Goat Latin.

Example 1:

Input: sentence = “I speak Goat Latin”

Output: “Imaa peaksmaaa oatGmaaaa atinLmaaaaa”

Example 2:

Input: sentence = “The quick brown fox jumped over the lazy dog”

Output: “heTmaa uickqmaaa rownbmaaaa oxfmaaaaa umpedjmaaaaaa overmaaaaaaa hetmaaaaaaaa azylmaaaaaaaaa ogdmaaaaaaaaaa”

Constraints:

Solution

public class Solution {
    public String toGoatLatin(String sentence) {
        String[] splits = sentence.split(" ");
        StringBuilder sb = new StringBuilder();
        StringBuilder a = new StringBuilder();
        for (String word : splits) {
            if (isVowel(word.charAt(0))) {
                sb.append(word).append("ma");
            } else {
                char firstChar = word.charAt(0);
                sb.append(word.substring(1)).append(firstChar).append("ma");
            }
            a.append("a");
            sb.append(a);
            sb.append(" ");
        }
        return sb.toString().trim();
    }

    private boolean isVowel(char c) {
        return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' || c == 'A' || c == 'E'
                || c == 'I' || c == 'O' || c == 'U';
    }
}