給定一個單詞,判斷其使用大寫的方式正確與否。api
若是給定單詞是全大寫或全小寫的話,屬於正確用法。
用array_count_values的結果和包含全大寫或全小寫的數組計算差集,結果爲空集則說明爲全大寫或全小寫。直接返回true便可。數組
除了全大寫和全小寫的狀況外,只能出現首字母大寫,其他字母小寫的狀況。
故咱們把第一個字符排除掉,再判斷剩餘字母是否爲全小寫。判斷方法與前面相同。spa
<?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;
}
}
複製代碼
若以爲本文章對你有用,歡迎用愛發電資助。.net