算法
(模拟) $O(n)$
可以直接调api或纯模拟:如果第一个字母是大写且单词长度只有1的话则为true
,否则后面全部大写或全部小写,反之如果第一个字母是小写,那么后面全部要小写。
Python 代码
# 版本1:调api
class Solution:
def detectCapitalUse(self, word: str) -> bool:
return word.isupper() or word.islower() or word.istitle()
# 版本2:纯模拟
class Solution:
def detectCapitalUse(self, word: str) -> bool:
if word[0].isupper():
if len(word) == 1:
return True
else:
if word[1].isupper():
for s in word[1:]:
if s.islower():
return False
else:
for s in word[1:]:
if s.isupper():
return False
else:
for s in word[1:]:
if s.isupper():
return False
return True
话说word[1]是第二项是吧
是的