本文主要是介绍【字符串】【打卡74天】leetCode每日一题:520. 检测大写字母,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、题目描述
我们定义,在以下情况时,单词的大写用法是正确的:
全部字母都是大写,比如 "USA" 。
单词中所有字母都不是大写,比如 "leetcode" 。
如果单词不只含有一个字母,只有首字母大写, 比如 "Google" 。
给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。
2、算法分析
知识补充:判断一个字符是否为大写字母Character.isUpperCase(char c):判断字符是否为大写字母;大写为true;小写为false;
先将字符串转化为字符数组,遍历字符数组,判断每一个字符是否为大写字母。是的话,计数count++记录大写字母的个数。
如果count == 0,说明字符串中都是小写字母;
如果count == arr.length,说明字符串中都是大写字母;
如果count == 1 && Character.isUpperCase(arr[0]),说明字符串中第一个字符为大写字母,其余的都是小写字母;
符合以下3种情况返回true:
①字符串中的字符全是大写字母
②字符串中的字符全是小写字母
③字符串中的第一个字符是大写字母,其余的都是小写字母
3、代码实现
class Solution {public boolean detectCapitalUse(String word) {if(word == null || word.length() == 0){return false;}int count = 0;char[] arr = word.toCharArray();for(int i = 0;i < arr.length;i++){if(Character.isUpperCase(arr[i])){count++;}}if(count == 0){return true;}if(count == arr.length){return true;}if(count == 1 && Character.isUpperCase(arr[0])){return true;}return false;}
}
这篇关于【字符串】【打卡74天】leetCode每日一题:520. 检测大写字母的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!