我们定义,在以下情况时,单词的大写用法是正确的:
全部字母都是大写,比如 “USA” 。
单词中所有字母都不是大写,比如 “leetcode” 。
如果单词不只含有一个字母,只有首字母大写, 比如 “Google” 。
给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。
我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如 "USA" 。 单词中所有字母都不是大写,比如 "leetcode" 。 如果单词不只含有一个字母,只有首字母大写, 比如 "Google" 。 给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。
class Solution { public boolean detectCapitalUse(String word) { //三种规则逐个判断即可 //全转为大写/小写,和原来一样 if (word.toUpperCase().equals(word)) return true; if (word.toLowerCase().equals(word)) return true; int n = word.length(), idx = 1; //如果第一个是大写,看后面是否全是小写 if (Character.isUpperCase(word.charAt(0))) { while (idx < n && Character.isLowerCase(word.charAt(idx))) idx ++; } //只有后面全是小写,idx才能走到末尾 return idx == n; } }