题目

给定一个由空格分割单词的句子 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。
来源:力扣(LeetCode)

解题思路

  可以先对字符串进行分割,然后根据规则对每个单词进行修改即可。注:python不支持在字符串上直接进行修改,如果需要修改则就要使用切片,但是每次都对长句子进行切片是十分麻烦的事情,最好直接在另外开辟一个空间存放空白字符串,然后修改后符合条件再往里面添加组成完整的句子。

class Solution:def toGoatLatin(self, sentence: str) -> str:s=sentence.split(' ')temp=''A=set('aeiouAEIOU')for i in range(len(s)):if s[i][0] in A:temp+=s[i]+'ma'else:temp+=s[i][1:]+s[i][0]+'ma'temp+=(i+1)*'a'+' 'return temp[:-1]

LeetCode简单题之山羊拉丁文相关推荐

  1. LeetCode(824)——山羊拉丁文(JavaScript)

    给定一个由空格分割单词的句子 S.每个单词只包含大写或小写字母. 我们要将句子转换为 "Goat Latin"(一种类似于 猪拉丁文 - Pig Latin 的虚构语言). 山羊拉 ...

  2. LeetCode简单题之基于排列构建数组

    题目 给你一个 从 0 开始的排列 nums(下标也从 0 开始).请你构建一个 同样长度 的数组 ans ,其中,对于每个 i(0 <= i < nums.length),都满足 ans ...

  3. LeetCode简单题之Excel 表中某个范围内的单元格

    题目 Excel 表中的一个单元格 (r, c) 会以字符串 "" 的形式进行表示,其中: 即单元格的列号 c .用英文字母表中的 字母 标识. 例如,第 1 列用 'A' 表示, ...

  4. LeetCode简单题之增量元素之间的最大差值

    题目 给你一个下标从 0 开始的整数数组 nums ,该数组的大小为 n ,请你计算 nums[j] - nums[i] 能求得的 最大差值 ,其中 0 <= i < j < n 且 ...

  5. LeetCode简单题之二进制矩阵中的特殊位置

    题目 给你一个大小为 rows x cols 的矩阵 mat,其中 mat[i][j] 是 0 或 1,请返回 矩阵 mat 中特殊位置的数目 . 特殊位置 定义:如果 mat[i][j] == 1 ...

  6. LeetCode简单题之设计 Goal 解析器

    题目 请你设计一个可以解释字符串 command 的 Goal 解析器 .command 由 "G"."()" 和/或 "(al)" 按某种 ...

  7. LeetCode简单题之检查两个字符串数组是否相等

    题目 给你两个字符串数组 word1 和 word2 .如果两个数组表示的字符串相同,返回 true :否则,返回 false . 数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串. ...

  8. LeetCode简单题之找出数组的最大公约数

    题目 给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 . 两个数的 最大公约数 是能够被两个数整除的最大正整数. 示例 1: 输入:nums = [2,5,6,9,10] 输出: ...

  9. LeetCode简单题之排列硬币

    题目 你总共有 n 枚硬币,并计划将它们按阶梯状排列.对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币.阶梯的最后一行 可能 是不完整的. 给你一个数字 n ,计算并返回可形成 完整阶 ...

最新文章

  1. textfile 属性
  2. Intellij页面汉字乱码问题
  3. micopython 18b20_micropython typboaed v202连接DS18B20测温小实验
  4. a标签连接空标签的方法
  5. 在.NET Core中处理一个接口多个不同实现的依赖注入问题
  6. 英特尔显示器音频_英特尔也玩马甲?有关USB TypeC的冷知识你了解多少
  7. 2019-11-04
  8. Dojo学习2 dojo快速安装
  9. AVR单片机教程——UART进阶
  10. 格雷码转二进制c语言程序,systemC构建格雷码和二进制的转换
  11. vue导出自定义的excel表格
  12. 【信息系统项目管理师】2018下半年系统集成项目管理工程师案例分析
  13. zyf的简单数学题(找规律)
  14. Python名词解释
  15. 使用SwipeRecyclerView配合下拉刷新出现Scrapped or attached views may not be recycled. isScrap:false isAttached:
  16. Ubuntu下能连上无线但不能上网
  17. 【Django 天天生鲜项目05】订单(Mysql事务、并发处理、支付宝支付、评论)
  18. 大前端 - react- 服务端渲染 - Gatsby
  19. 漫画:程序员调bug的真实写照233
  20. 嵌入式计算机的分类与应用

热门文章

  1. 手动将web项目的class文件打成jar包,手动打jar包,java -cvf,IDE打包底层指令
  2. 用BRAT进行中文情感分析语料标注
  3. 基于PyTorch的Seq2Seq翻译模型详细注释介绍(一)
  4. pytorch 优化器 机器学习 调参
  5. LeetCode简单题之最长和谐子序列
  6. TVM优化Deep Learning GPU算子
  7. Deep Learning部署TVM Golang运行时Runtime
  8. AI框架精要:设计思想
  9. 2021年大数据常用语言Scala(七):基础语法学习 条件表达式
  10. HarmonyOS 字体在自身控件中居中(使用text_alignment)