【Leetcode】824. Goat Latin

题目地址:

https://leetcode.com/problems/goat-latin/

给定一个英文字符串,由单词和单词之间的空格构成,要求将每个单词按如下规则做出改变:
1、如果其以元音开头( a e i o u A E I O U aeiouAEIOU aeiouAEIOU),则将其后面加上 m a ma ma
2、如果不以元音开头,则将第一个字母置于最后,其后面加上 m a ma ma
3、执行完上面的操作之后,第几个单词就后面跟几个 a a a(从 1 1 1开始计数)。
返回结果。

代码如下:

public class Solution {
    public String toGoatLatin(String sentence) {
        String vow = "aeiouAEIOU";
        
        String[] ss = sentence.split(" ");
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < ss.length; i++) {
            if (vow.indexOf(ss[i].charAt(0)) != -1) {
                sb.append(ss[i]);
            } else {
                sb.append(ss[i].substring(1)).append(ss[i].charAt(0));
            }
    
            sb.append('m').append("a".repeat(i + 2)).append(' ');
        }
        
        sb.setLength(sb.length() - 1);
        return sb.toString();
    }
}

时空复杂度 O ( l s 2 ) O(l_s^2) O(ls2)

你可能感兴趣的:(LC,栈,队列,串及其他数据结构,leetcode,算法,java)