我们定义,在以下情况时,单词的大写用法是正确的:
- 全部字母都是大写,比如
"USA"
。
- 单词中所有字母都不是大写,比如
"leetcode"
。
- 如果单词不只含有一个字母,只有首字母大写, 比如
"Google"
。
给你一个字符串 word
。如果大写用法正确,返回 true
;否则,返回 false
。
示例 1:
示例 2:
1 2
| 输入:word = "FlaG" 输出:false
|
提示:
1 <= word.length <= 100
word
由小写和大写英文字母组成
分析
如果第一个字母是大写,则后面的字母都是大写
如果第一个字母不是大写,则后面的字母都不是大写
Python写法一:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Solution(object): def detectCapitalUse(self,word): """ :type word: str :rtype: bool """ upper,lower = 0,0 for s in word: if ord(s) >= 65 and ord(s) <= 90: upper += 1 else: lower += 1 if upper == 0 or lower == 0: return True if ord(word[0]) >= 65 and ord(word[0]) <= 90 and lower == len(word) -1: return True return False
|
Python写法二:
1 2 3 4 5 6 7 8
| calss Solution(object): def detetCapitalUse(self,word): """ :type word: str :rtype: bool """ return word.upper()==word or word.lower()==word or word.title()==word
|
C写法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| bool deteCapitaUse(char * word){ int lastUpperCharIndex = -1; int lastLowerCharIndex = -1; int index = 0; wile(word[index]){ if(word[index] >= 'a' && word[index] <= 'z') lastLowerCharIndex = index; else lastUpperCharIndex = index; index++; } if(lastUpperIndex >= 1 && lastLowerCharIndex >= 0){ return false; } return true; }
|