LeetCode刷题记录7——824. Goat Latin(easy)

LeetCode刷题记录7——824. Goat Latin(easy)

目录

LeetCode刷题记录7——824. Goat Latin(easy)

题目

语言

思路

后记


题目

LeetCode刷题记录7——824. Goat Latin(easy)_第1张图片

题目需要将一个输入的字符串转化为Goat Latin——山羊拉丁语,有三种转化规则:

  • 如果单词的第一个字符是元音字母(aeiou或者AEIOU),那么保留这个单词的原本格式,并在最后加上ma

  • 如果单词的第一个字母不是元音字母,那么就将这个单词的第一个字符移到这个单词的最后,然后再加上ma

  • 还有一种公共的规则就是从第一个单词开始,最后加上ma之后,都要加上a,比如说第一个单词加一个a,第二个单词就加2个a,第三个就加3个a

举个栗子:LeetCode刷题记录7——824. Goat Latin(easy)_第2张图片

语言

Java

思路

一看到这题要在字符串后面加字符串的,就想到了Java中字符串append的用法。但是append是往动态字符串中添加,所以不能是String定义的字符串,而是要StringBuilder定义的才行。

首先将输入的字符串进行按空格来切割,分成每个单词。然后定义一个字符数组进行元音字母的标记,比如元音字母就是标记为1.接下来按单词个数进行循环,依次检查每个单词,检查它的第一个字符是否为元音字母,如果是的话,就单词不变最后加上ma;如果第一个字符不是元音字母的话,就把这个单词的首字母放到最后,再加上ma,在循环的末尾统一加上a(第一个单词加一个a,第二个单词就加2个a)

后记

解出此题,需要掌握以下几个关键用法:

  1. StringBuilder定义动态字符串

  2. append可以在动态字符串后面加上其他字符串

  3. substring可以返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。

你可能感兴趣的:(LeetCode)