Leetcode练习(Python):第520题:检测大写字母:给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode"。 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。 否则,我们定义这个单词没有正确使用大写字母。
题目:
检测大写字母:给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode"。 如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。 否则,我们定义这个单词没有正确使用大写字母。
示例 1:
输入: "USA" 输出: True
示例 2:
输入: "FlaG" 输出: False
注意: 输入是由大写和小写拉丁字母组成的非空单词。
思路:
情况二和三一样,只需要单独判断下情况一就可以。
程序:
class Solution: def detectCapitalUse(self, word: str) -> bool: if not word: return False if len(word) == 1: return True counter = 0 for index in range(1, len(word)): if word[index] >= 'A' and word[index] <= 'Z': counter += 1 if counter == index or counter == 0: continue else: return False if counter == 0: return True if counter == len(word) - 1: if word[0] >= 'A' and word[0] <= 'Z': return True else: return False