首页 > 其他 > 详细

824. Goat Latin - LeetCode

时间:2018-08-13 20:22:02      阅读:135      评论:0      收藏:0      [点我收藏+]

Questioin

824.?Goat Latin

技术分享图片

Solution

题目大意:根据要求翻译句子

思路:转换成单词数组,遍历数组,根据要求转换单词

Java实现:

用Java8的流实现,效率太低

public String toGoatLatin(String S) {
    final String[] arr = S.split(" ");
    final int[] idx = {0};
    return Arrays.stream(S.split(" "))
        .map(s -> convert(s, ++idx[0]))
        .reduce("", (s1, s2) -> s1 + " " + s2).trim();
}

String convert(String ori, int count) {
    String pre = "";
    // begin with vowel aeiou
    char first = ori.charAt(0);
    if (first == 'A' || first == 'a'
        || first == 'E' || first == 'e'
        || first == 'I' || first == 'i'
        || first == 'O' || first == 'o'
        || first == 'U' || first == 'u'
       ) {
        pre = ori;
    } else {
        // begin with consonant not aeiou
        pre = ori.substring(1) + first;
    }

    // add a
    char[] a = new char[count];
    for (int i = 0; i < count; i++) {
        a[i] = 'a';
    }
    return pre + "ma" + String.valueOf(a);
}

技术分享图片

public String toGoatLatin(String S) {
    StringBuilder sb = new StringBuilder();
    int count = 1;
    for(String tmp : S.split(" ")) {
        sb.append(convert(tmp, count++)).append(" ");
    }
    return sb.toString().trim();
}

技术分享图片

824. Goat Latin - LeetCode

原文:https://www.cnblogs.com/okokabcd/p/9470373.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!