D81 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('ABCDEFGHIJKLMNOPQRSTUVWXYZ'); $lowercase = str_split('abcdefghijklmnopqrstuvwxyz'); //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中文網其他相關文章!