LeetCode简单题之山羊拉丁文
題目
給定一個由空格分割單詞的句子 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简单题之山羊拉丁文的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之删除排序链表中的
- 下一篇: LeetCode简单题之找出井字棋的获胜