leetcode (Goat Latin)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hsx1612727380/article/details/85222188

Title:Goat Latin  824

Difficulty:Easy

原题leetcode地址: https://leetcode.com/problems/goat-latin/

1.   见代码注释

时间复杂度:O(n),一次一层for循环。

空间复杂度:O(n),通过split()方法切割了字符串,最长为字符串长度。

    /**
     * 调用split分割,依次判断,最后悔多一个空格需要删除
     * @param S
     * @return
     */
    public static String toGoatLatin(String S) {

        StringBuilder sb = new StringBuilder();
        String cs[] = S.split(" ");

        for (int i = 0; i < cs.length; i++) {
            char first = cs[i].charAt(0);
            if (isVowel(first)) {
                sb.append(cs[i]);
            }
            else {
                sb.append(cs[i].substring(1));
                sb.append(cs[i].substring(0, 1));
            }
            sb.append("ma");
            for (int j = 0; j <= i; j++) {
                sb.append("a");
            }
            sb.append(" ");
        }

        sb.deleteCharAt(sb.length() - 1);
        return sb.toString();

    }

    /**
     * 是否为元音
     * @param c
     * @return
     */
    private static boolean isVowel(char c) {

        switch (c) {
            case 'a':
            case 'A':
            case 'e':
            case 'E':
            case 'i':
            case 'I':
            case 'o':
            case 'O':
            case 'u':
            case 'U':
                return true;
        }

        return false;

    }

猜你喜欢

转载自blog.csdn.net/hsx1612727380/article/details/85222188