LeetCode 520. Detect Capital 检测大

2018-08-28  本文已影响0人  singed

链接

https://leetcode-cn.com/problems/detect-capital/description/

要求

给定一个单词,你需要判断单词的大写使用是否正确。

我们定义,在以下情况时,单词的大写用法是正确的:

全部字母都是大写,比如"USA"。
单词中所有字母都不是大写,比如"leetcode"。
如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。
否则,我们定义这个单词没有正确使用大写字母。

输入: "USA"
输出: True

输入: "FlaG"
输出: False

相关代码

思路:
列表解析式判断大小写后用if语句判断。

import string

class Solution(object):
    def detectCapitalUse(self, word):
        word_list = [x in string.ascii_uppercase for x in list(word)]
        if len(set(word_list)) == 1:
            return True
        if word_list[0] == True and len(set(word_list[1:])) == 1:
            return True
        else:
            return False

大神的解法... 厉害了

class Solution(object):
    def detectCapitalUse(self, word):
        """
        :type word: str
        :rtype: bool
        """
        if word.upper()  == word:
            return True
        elif word.capitalize() ==word:
            return True
        elif word.lower() == word:
            return True
        else:
            return False
上一篇下一篇

猜你喜欢

热点阅读