序
本文主要记录一下leetcode之山羊拉丁文
题目
代码语言:javascript复制给定一个由空格分割单词的句子 S。每个单词只包含大写或小写字母。
我们要将句子转换为 “Goat Latin”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/goat-latin
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解
代码语言:javascript复制class Solution {
Set<Character> set = new HashSet<>(){{
add('a');
add('e');
add('i');
add('o');
add('u');
add('A');
add('E');
add('I');
add('O');
add('U');
}};
public String toGoatLatin(String S) {
String[] words = S.split(" ");
StringBuilder builder = new StringBuilder();
for(int i=0; i<words.length; i ) {
if (set.contains(words[i].charAt(0))){
builder.append(words[i] "ma");
} else {
builder.append(words[i].substring(1) words[i].charAt(0) "ma");
}
for (int j = 0; j < i 1; j ) {
builder.append('a');
}
builder.append(' ');
}
return builder.toString().trim();
}
}
小结
这里先将字符串按空格分割为单词,然后遍历每个单词,判断首字母是否为元音,是的话在后面添加ma,不是的话将首字母移到后面再拼接ma,最后再根据单词在句子中的index拼接指定个数的a。
doc
- 山羊拉丁文