LeetCode刷题记录7——824. Goat Latin(easy)
目录
LeetCode刷题记录7——824. Goat Latin(easy)
题目
题目需要将一个输入的字符串转化为Goat Latin——山羊拉丁语,有三种转化规则:
-
如果单词的第一个字符是元音字母(aeiou或者AEIOU),那么保留这个单词的原本格式,并在最后加上ma
-
如果单词的第一个字母不是元音字母,那么就将这个单词的第一个字符移到这个单词的最后,然后再加上ma
-
还有一种公共的规则就是从第一个单词开始,最后加上ma之后,都要加上a,比如说第一个单词加一个a,第二个单词就加2个a,第三个就加3个a
举个栗子:
语言
Java
思路
一看到这题要在字符串后面加字符串的,就想到了Java中字符串append的用法。但是append是往动态字符串中添加,所以不能是String定义的字符串,而是要StringBuilder定义的才行。
首先将输入的字符串进行按空格来切割,分成每个单词。然后定义一个字符数组进行元音字母的标记,比如元音字母就是标记为1.接下来按单词个数进行循环,依次检查每个单词,检查它的第一个字符是否为元音字母,如果是的话,就单词不变最后加上ma;如果第一个字符不是元音字母的话,就把这个单词的首字母放到最后,再加上ma,在循环的末尾统一加上a(第一个单词加一个a,第二个单词就加2个a)
后记
解出此题,需要掌握以下几个关键用法:
-
StringBuilder定义动态字符串
-
append可以在动态字符串后面加上其他字符串
-
substring可以返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。