824. Goat Latin

题目描述和难度

  • 题目描述:

给定一个由空格分割单词的句子 S。每个单词只包含大写或小写字母。

我们要将句子转换为 “Goat Latin”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。

山羊拉丁文的规则如下:

  • 如果单词以元音开头(a, e, i, o, u),在单词后添加"ma"
    例如,单词"apple"变为"applema"
  • 如果单词以辅音字母开头(即非元音字母),移除第一个字符并将它放到末尾,之后再添加"ma"
    例如,单词"goat"变为"oatgma"
  • 根据单词在句子中的索引,在单词最后添加与索引相同数量的字母'a',索引从1开始。
    例如,在第一个单词后添加"a",在第二个单词后添加"aa",以此类推。

返回将 S 转换为山羊拉丁文后的句子。

示例 1:

输入: "I speak Goat Latin"
输出: "Imaa peaksmaaa oatGmaaaa atinLmaaaaa"

示例 2:

输入: "The quick brown fox jumped over the lazy dog"
输出: "heTmaa uickqmaaa rownbmaaaa oxfmaaaaa umpedjmaaaaaa overmaaaaaaa hetmaaaaaaaa azylmaaaaaaaaa ogdmaaaaaaaaaa"

说明:

  • S 中仅包含大小写字母和空格。单词间有且仅有一个空格。
  • 1 <= S.length <= 150
  • 题目难度:简单。
  • 英文网址:824. Goat Latin 。
  • 中文网址:824. 山羊拉丁文 。

思路分析

求解关键:这道题其实没有什么难度,直接按照题目的要求拼接就可以了。

参考解答

参考解答1

import java.util.HashSet;
import java.util.Set;public class Solution {public String toGoatLatin(String S) {// vowel 元音字符Set<Character> vowel = new HashSet<>();for (char c : new char[]{'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'}) {vowel.add(c);}// 索引的个数int t = 1;StringBuilder ans = new StringBuilder();for (String word : S.split("\\s")) {char first = word.charAt(0);// 题目要求的第 1 条if (vowel.contains(first)) {ans.append(word);} else {// 题目要求的第 2 条ans.append(word.substring(1));ans.append(word.substring(0, 1));}ans.append("ma");// 题目要求的第 3 条for (int i = 0; i < t; i++) {ans.append('a');}ans.append(" ");t++;}// 删除最后一个空格ans.deleteCharAt(ans.length() - 1);return ans.toString();}public static void main(String[] args) {Solution solution = new Solution();String S = "I speak Goat Latin";String goatLatin = solution.toGoatLatin(S);System.out.println(goatLatin);}
}

本篇文章的地址为 https://liweiwei1419.github.io/leetcode-solution/leetcode-0824-goat-latin ,如果我的题解有错误,或者您有更好的解法,欢迎您告诉我 liweiwei1419@gmail.com 。

LeetCode 题解之 824. Goat Latin相关推荐

  1. LeetCode刷题记录7——824. Goat Latin(easy)

    LeetCode刷题记录7--824. Goat Latin(easy) 目录 LeetCode刷题记录7--824. Goat Latin(easy) 题目 语言 思路 后记 题目 题目需要将一个输 ...

  2. LeetCode算法题-Goat Latin Easy(Java实现)

    这是悦乐书的第322次更新,第344篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第192题(顺位题号是824).给出句子S,由空格分隔的单词组成.每个单词仅由小写和大写 ...

  3. C#LeetCode刷题之#824-山羊拉丁文​​​​​​​(Goat Latin)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3971 访问. 给定一个由空格分割单词的句子 S.每个单词只包含大 ...

  4. LeetCode-824. Goat Latin(字符串分割)

    824 .山羊拉丁文 描述 S给出一个句子,由用空格分隔的单词组成.每个单词只包含小写字母和大写字母. 我们想将句子转换成" 山羊拉丁语"  (一种类似于拉丁语的化妆语言). 山羊 ...

  5. 900 多道 LeetCode 题解,这个 GitHub 项目值得 Star!

    转自 | 码农有道 大家好,我是小 G. 周末风和日丽,适合刷 LeetCode 今天给你们推荐个 GitHub 项目,里面收集了 900 多道 LeetCode 题解,并包含中英文两个版本,适合大多 ...

  6. PHP版Leetcode题解开始随缘更新

    2019独角兽企业重金招聘Python工程师标准>>> PHP版Leetcode题解 我叫skys215,是一名bug工程师. 我接触编程的时间比较早,但是因为我数学不好加上比较懒, ...

  7. [LeetCode 题解]: Binary Tree Preorder Traversal

    前言 [LeetCode 题解]系列传送门:  http://www.cnblogs.com/double-win/category/573499.html 1.题目描述 Given a binary ...

  8. LeetCode 题解汇总

    为什么80%的码农都做不了架构师?>>>    LeetCode 题解汇总 转载于:https://my.oschina.net/michao/blog/801863

  9. leetcode题解【持续更新】

    leetcode题解不断更新,以及nowcoder题解.一起加油! 完整请移步我的Github 转载于:https://juejin.im/post/5c8a73d8f265da2de80fa774

最新文章

  1. OTL调用Oracle存储过程
  2. C语言经典例79-字符串排序
  3. Codeforces Round #521 (Div.3)题解
  4. android service alertdialog,Android service里面启动alertdialog
  5. 线上直播 | NVIDIA TensorRT在神经机器翻译中的应用
  6. 随机排列_“按字母顺序排列”其实是种随机顺序
  7. python中turtle介绍_python中turtle库的简单介绍
  8. 2022虎年背景全新UI头像框制作微信小程序源码
  9. BZOJ4372: 烁烁的游戏【动态点分治】
  10. 微软直播马上开始,近百岗位等你来,快戳进直播间
  11. 匈牙利算法求最大匹配(HDU-4185 Oil Skimming)
  12. 乾颐堂现任明教教主(2014年课程)TCPIP协议详解卷一 第九节课笔记
  13. 宿主机支持avx2指令集,为什么虚拟机cpu就不支持avx2指令集了
  14. JS与Android的交互
  15. QT学习笔记(六)——QT弹出对话框并在主窗口调用对话框的信息
  16. dx12 龙书第四章学习笔记 -- Direct3D的初始化
  17. 解决Spring Boot 使用RedisTemplate 存储键值出现乱码 \xac\xed\x00\x05t\x00
  18. 给你三个ASCII字符(不含空白字符:包括空格、制表符\t、回车换行符\n),找出其中最大的那个
  19. Scrapy爬取重庆安居客二手房并存入mysql数据库(上)
  20. linux内核协议栈 之 GSO逻辑分析

热门文章

  1. 四个坐标点顺时针排序
  2. Git 错误 Unable to create 'E:/xxx/.git/index.lock': File exists.的解决办法
  3. 「代码家」的学习过程和学习经验分享【转】
  4. 熟悉超声心动图对心脏功能的评估及超声心动图的正常值
  5. 《Hadoop权威指南》学习笔记(一)
  6. 文献阅读笔记:Word Translation Without Parallel Data
  7. 那些年啊,那些事——一个程序员的奋斗史 ——125
  8. python3+selenium实现自动进熊猫直播间发弹幕的脚本
  9. 华为端到端项目管理流程_华为这段话是我见过对端到端流程本质最精辟的阐述...
  10. pycharm对项目进行重命名后导致项目内文件一系列异常