LeetCode 824 山羊拉丁文

2021-10-01 14:50:00 字數 1523 閱讀 5751

給定乙個由空格分割單詞的句子 s。每個單詞只包含大寫或小寫字母。

我們要將句子轉換為 「goat latin」(一種類似於 豬拉丁文 - pig latin 的虛構語言)。

山羊拉丁文的規則如下:

如果單詞以子音字母開頭(即非母音字母),移除第乙個字元並將它放到末尾,之後再新增"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。

這道題就是對是否是母音字母進行判斷,然後針對第乙個字元不同的字母型別,是母音字母還是子音字母作出不同的操作

首先先建立乙個序列,裡面存放的就是所有的大小寫的母音字母

然後我們取要比較的字串的第乙個字元,這裡用first變數進行表示,判斷其是否在母音字母的那個序列之內

子音字母

把第乙個字母放在要比較的單詞的最後,這裡採用的是擷取字串的方式,先加1及其後面的, 然後再加上第乙個字元就實現了這個功能

然後後面用for 迴圈來計算這是第幾個單詞,然後進行+ a操作

class

solution

) vowel.

add(c)

;int t =1;

stringbuilder ans =

newstringbuilder()

;for

(string word:s.

split

(" "))

else

ans.

("ma");

//迴圈實現+a

for(

int i =

0;i) t++

;//每個迴圈結束+a完畢之後,還要加乙個空格

ans.

(" ");

}//刪除最後一位的空格

ans.

deletecharat

(ans.

length()

-1);

return ans.

tostring()

;}}

LeetCode 824 山羊拉丁文

隨機一題 給定乙個由空格分割單詞的句子s。每個單詞只包含大寫或小寫字母。我們要將句子轉換為 goat latin 一種類似於 豬拉丁文 pig latin 的虛構語言 山羊拉丁文的規則如下 如果單詞以子音字母開頭 即非母音字母 移除第乙個字元並將它放到末尾,之後再新增 ma 例如,單詞 goat 變...

leetcode 824 山羊拉丁文

給定乙個由空格分割單詞的句子s。每個單詞只包含大寫或小寫字母。我們要將句子轉換為 goat latin 一種類似於 豬拉丁文 pig latin 的虛構語言 山羊拉丁文的規則如下 如果單詞以子音字母開頭 即非母音字母 移除第乙個字元並將它放到末尾,之後再新增 ma 例如,單詞 goat 變為 oat...

LeetCode 824 山羊拉丁文

給定乙個由空格分割單詞的句子 s。每個單詞只包含大寫或小寫字母。我們要將句子轉換為 goat latin 一種類似於 豬拉丁文 pig latin 的虛構語言 山羊拉丁文的規則如下 返回將s轉換為山羊拉丁文後的句子。示例 1 輸入 i speak goat latin 輸出 imaa peaksma...