首頁  >  文章  >  後端開發  >  Leetcode PHP題解--D81 520.偵測大寫

Leetcode PHP題解--D81 520.偵測大寫

步履不停
步履不停原創
2019-06-10 09:38:561965瀏覽

Leetcode PHP題解--D81 520.偵測大寫

D81 520. Detect Capital

題目連結

520. Detect Capital

#主題分析

給定一個單詞,判斷其使用大寫的方式正確與否。

想法

如果給定單字是全大寫或全小寫的話,屬於正確用法。
用array_count_values的結果和包含全大寫或全小寫的陣列計算差集,結果為空集則說明為全大寫或全小寫。直接回傳true即可。

除了全大寫和全小寫的情況外,只能出現首字母大寫,其餘字母小寫的情況。
故我們把第一個字元排除掉,再判斷剩餘字母是否為全小寫。判斷方法與前面相同。 (php影片教學

最終程式碼

<?php
class Solution {    /**
     * @param String $word
     * @return Boolean
     */
    function detectCapitalUse($word) {
        $wordArray = str_split($word);
        $uppercase = str_split(&#39;ABCDEFGHIJKLMNOPQRSTUVWXYZ&#39;);
        $lowercase = str_split(&#39;abcdefghijklmnopqrstuvwxyz&#39;);       
        //all upper or lower case
        if(!array_diff_key(array_count_values($wordArray),array_flip($uppercase))
           ||!array_diff_key(array_count_values($wordArray),array_flip($lowercase))){            return true;
        }        //first letter whatever case,
        //rest of the string must be all lowercase
        array_shift($wordArray);        if(!array_diff_key(array_count_values($wordArray),array_flip($lowercase))){           return true; 
        }        return false;
    }
}

以上是Leetcode PHP題解--D81 520.偵測大寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn