Leetcode PHP題解--D60 824. Goat Latin

D60 824. Goat Latin

題目連接

824. Goat Latinphp

題目分析

給定一個句子,由大小寫英文字母組成,以空格爲單詞的分割。.net

按如下規則修改單詞:code

  • 若是一個單詞以元音開頭(即AEIOU),那麼在這個單詞末尾添加ma
  • 若是不是以元音開頭,那麼將第一個字母移動到當前單詞末尾,並在後面添加ma
  • 在全部單詞末尾再額外添加n個a。n爲當前單詞在句子中的次序,從1開始。即,在第1個單詞按以上規則轉換完成後,再加1個a。在第2個單詞末尾加2個a,第3個加3個a,以此類推。

思路

首先,須要把句子分割成單詞。用str_explode就能夠實現。leetcode

分割後,判斷首字母是否不是元音。
不是元音,則將第一個字母移到最後。字符串

給字符串末尾添加ma
給字符串末尾添加額外的naget

最終代碼

<?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);
    }
}

若以爲本文章對你有用,歡迎用愛發電資助。io

相關文章
相關標籤/搜索