LeetCode 题解之 824. Goat Latin
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相关推荐
- LeetCode刷题记录7——824. Goat Latin(easy)
LeetCode刷题记录7--824. Goat Latin(easy) 目录 LeetCode刷题记录7--824. Goat Latin(easy) 题目 语言 思路 后记 题目 题目需要将一个输 ...
- LeetCode算法题-Goat Latin Easy(Java实现)
这是悦乐书的第322次更新,第344篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第192题(顺位题号是824).给出句子S,由空格分隔的单词组成.每个单词仅由小写和大写 ...
- C#LeetCode刷题之#824-山羊拉丁文(Goat Latin)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3971 访问. 给定一个由空格分割单词的句子 S.每个单词只包含大 ...
- LeetCode-824. Goat Latin(字符串分割)
824 .山羊拉丁文 描述 S给出一个句子,由用空格分隔的单词组成.每个单词只包含小写字母和大写字母. 我们想将句子转换成" 山羊拉丁语" (一种类似于拉丁语的化妆语言). 山羊 ...
- 900 多道 LeetCode 题解,这个 GitHub 项目值得 Star!
转自 | 码农有道 大家好,我是小 G. 周末风和日丽,适合刷 LeetCode 今天给你们推荐个 GitHub 项目,里面收集了 900 多道 LeetCode 题解,并包含中英文两个版本,适合大多 ...
- PHP版Leetcode题解开始随缘更新
2019独角兽企业重金招聘Python工程师标准>>> PHP版Leetcode题解 我叫skys215,是一名bug工程师. 我接触编程的时间比较早,但是因为我数学不好加上比较懒, ...
- [LeetCode 题解]: Binary Tree Preorder Traversal
前言 [LeetCode 题解]系列传送门: http://www.cnblogs.com/double-win/category/573499.html 1.题目描述 Given a binary ...
- LeetCode 题解汇总
为什么80%的码农都做不了架构师?>>> LeetCode 题解汇总 转载于:https://my.oschina.net/michao/blog/801863
- leetcode题解【持续更新】
leetcode题解不断更新,以及nowcoder题解.一起加油! 完整请移步我的Github 转载于:https://juejin.im/post/5c8a73d8f265da2de80fa774
最新文章
- OTL调用Oracle存储过程
- C语言经典例79-字符串排序
- Codeforces Round #521 (Div.3)题解
- android service alertdialog,Android service里面启动alertdialog
- 线上直播 | NVIDIA TensorRT在神经机器翻译中的应用
- 随机排列_“按字母顺序排列”其实是种随机顺序
- python中turtle介绍_python中turtle库的简单介绍
- 2022虎年背景全新UI头像框制作微信小程序源码
- BZOJ4372: 烁烁的游戏【动态点分治】
- 微软直播马上开始,近百岗位等你来,快戳进直播间
- 匈牙利算法求最大匹配(HDU-4185 Oil Skimming)
- 乾颐堂现任明教教主(2014年课程)TCPIP协议详解卷一 第九节课笔记
- 宿主机支持avx2指令集,为什么虚拟机cpu就不支持avx2指令集了
- JS与Android的交互
- QT学习笔记(六)——QT弹出对话框并在主窗口调用对话框的信息
- dx12 龙书第四章学习笔记 -- Direct3D的初始化
- 解决Spring Boot 使用RedisTemplate 存储键值出现乱码 \xac\xed\x00\x05t\x00
- 给你三个ASCII字符(不含空白字符:包括空格、制表符\t、回车换行符\n),找出其中最大的那个
- Scrapy爬取重庆安居客二手房并存入mysql数据库(上)
- linux内核协议栈 之 GSO逻辑分析
热门文章
- 四个坐标点顺时针排序
- Git 错误 Unable to create 'E:/xxx/.git/index.lock': File exists.的解决办法
- 「代码家」的学习过程和学习经验分享【转】
- 熟悉超声心动图对心脏功能的评估及超声心动图的正常值
- 《Hadoop权威指南》学习笔记(一)
- 文献阅读笔记:Word Translation Without Parallel Data
- 那些年啊,那些事——一个程序员的奋斗史 ——125
- python3+selenium实现自动进熊猫直播间发弹幕的脚本
- 华为端到端项目管理流程_华为这段话是我见过对端到端流程本质最精辟的阐述...
- pycharm对项目进行重命名后导致项目内文件一系列异常