山羊拉丁文
给你一个由若干单词组成的句子 sentence ,单词间由空格分隔。每个单词仅由大写和小写英文字母组成。 请你将句子转换为 “山羊拉丁文(Goat Latin)”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。山羊拉丁文的规则如下: 如果单词以元音开头(‘a’, ‘e’, ‘i’, ‘o’, ‘u’),在单词后添加"ma"。 例如,单词 “apple” 变为 “applema” 。 如果单词以辅音字母开头(即,非元音字母),移除第一个字符并将它放到末尾,之后再添加"ma"。 例如,单词 “goat” 变为 “oatgma” 。 根据单词在句子中的索引,在单词最后添加与索引相同数量的字母’a’,索引从 1 开始。 例如,在第一个单词后添加 “a” ,在第二个单词后添加 “aa” ,以此类推。 返回将 sentence 转换为山羊拉丁文后的句子。 来源:力扣(LeetCode)
AC代码class Solution:
def toGoatLatin(self, sentence: str) -> str:
def change(word, idx):
if word[0] in ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']:
return word + 'ma' + 'a' * (idx + 1)
else:
return word[1:] + word[0] + 'ma' + 'a' * (idx + 1)
senlist= sentence.split(' ')
res = ''
for idx, word in enumerate(senlist):
if idx str:
vowels = {"a", "e", "i", "o", "u", "A", "E", "I", "O", "U"}
n = len(sentence)
i, cnt = 0, 1
words = list()
while i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?