博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
824. Goat Latin - LeetCode
阅读量:5959 次
发布时间:2019-06-19

本文共 1170 字,大约阅读时间需要 3 分钟。

  hot3.png

Questioin

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();}

转载于:https://my.oschina.net/yysue/blog/1927262

你可能感兴趣的文章
Fedora Core 6 刷新率超出范围解决方法
查看>>
linux网络
查看>>
我的友情链接
查看>>
演示:交换机端口安全的配置
查看>>
我的友情链接
查看>>
linux 系统调优步骤 例
查看>>
显式方法与隐式方法
查看>>
Android防火墙+流量统计代码
查看>>
通知中心
查看>>
马哥9-3
查看>>
我的友情链接
查看>>
MVC中的三个模块
查看>>
C#学习要点一
查看>>
需求分析
查看>>
Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
查看>>
跟踪被锁的AD账号
查看>>
Python 学习笔记 - 递归和模块中的特殊变量
查看>>
redis 安装配置
查看>>
oracle 常用命令大汇总
查看>>
2012年春运火车票电话和网上订票技巧、攻略
查看>>