您当前的位置: 首页 >  leetcode

孑渡

暂无认证

  • 2浏览

    0关注

    178博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Leetcode】每日一题:山羊拉丁文

孑渡 发布时间:2022-04-21 09:32:14 ,浏览量:2

山羊拉丁文

给你一个由若干单词组成的句子 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             
关注
打赏
1663211900
查看更多评论
0.1770s