给定一个单词,判断其使用大写的方式正确与否。api
若是给定单词是全大写或全小写的话,属于正确用法。
用array_count_values的结果和包含全大写或全小写的数组计算差集,结果为空集则说明为全大写或全小写。直接返回true便可。数组
除了全大写和全小写的状况外,只能出现首字母大写,其他字母小写的状况。
故咱们把第一个字符排除掉,再判断剩余字母是否为全小写。判断方法与前面相同。.net
<?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; } }
若以为本文章对你有用,欢迎用爱发电资助。rest