Detect Capital
Written on May 4, 2017
Tweet
Given a word, you need to judge whether the usage of capitals in it is right or not. We define the usage of capitals in a word to be right when one of the following cases holds: All letters in this word are capitals, like “USA”. All letters in this word are not capitals, like “leetcode”. Only the first letter in this word is capital if it has more than one letter, like “Google”. Otherwise, we define that this word doesn’t use capitals in a right way.
class Solution(object):
def detectCapitalUse(self, word):
"""
:type word: str
:rtype: bool
"""
first_upper = False
all_upper = False
rest_lower = True
for i, char in enumerate(word):
if i == 0 and char.isupper():
first_upper = True
all_upper = True
continue
if char.isupper():
rest_lower = False
if not first_upper or not all_upper:
return False
else:
all_upper = False
return all_upper or rest_lower
def detectCapitalUse(self, word):
return word.isupper() or word.islower() or word.istitle()