美文网首页Leetcode题解-PHP版
Leetcode PHP题解--D60 824. Goat La

Leetcode PHP题解--D60 824. Goat La

作者: skys215 | 来源:发表于2019-05-14 10:24 被阅读0次

    D60 824. Goat Latin

    题目链接

    824. Goat Latin

    题目分析

    给定一个句子,由大小写英文字母组成,以空格为单词的分割。

    按以下规则修改单词:

    • 如果一个单词以元音开头(即AEIOU),那么在这个单词末尾添加ma
    • 如果不是以元音开头,那么将第一个字母移动到当前单词末尾,并在后面添加ma
    • 在所有单词末尾再额外添加n个a。n为当前单词在句子中的次序,从1开始。即,在第1个单词按以上规则转换完成后,再加1个a。在第2个单词末尾加2个a,第3个加3个a,以此类推。

    思路

    首先,需要把句子分割成单词。用str_explode就可以实现。

    分割后,判断首字母是否不是元音。
    不是元音,则将第一个字母移到最后。

    给字符串末尾添加ma
    给字符串末尾添加额外的na

    最终代码

    <?php
    class Solution {
    
        /**
         * @param String $S
         * @return String
         */
        function toGoatLatin($S) {
            $words = explode(' ', $S);
            $newWords = [];
            foreach($words as $key => $word){
                if(!in_array($word[0],['a','e','i','o','u','A','E','I','O','U'])){
                    $word .= $word[0];
                    $word = substr($word,1);
                }
                $word .= 'ma'.str_repeat('a', $key+1);
                $newWords[] = $word;
            }
            return implode(' ', $newWords);
        }
    }
    

    若觉得本文章对你有用,欢迎用爱发电资助。

    相关文章

      网友评论

        本文标题:Leetcode PHP题解--D60 824. Goat La

        本文链接:https://www.haomeiwen.com/subject/hhijaqtx.html