首页 > 代码库 > 520. Detect Capital
520. Detect Capital
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.
Example 1:
Input: "USA"Output: True
Example 2:
Input: "FlaG"Output: False
Note: The input will be a non-empty word consisting of uppercase and lowercase latin letters.
题意:给你一个字符串,判断其是否符合规范
这是我的代码。感觉有点蠢。
class Solution {public: bool detectCapitalUse(string word) { if(word[0] >= 65 && word[0] <= 90){ int n = 0; int m = 0; for(int i = 1; i < word.size(); i++){ if(word[i] <= 90) m = 1; else n = 1; } if(n + m > 1) return false; } else{ for(int i = 1; i < word.size(); i++){ if(word[i] < ‘a‘) return false; } } return true; }};
还有一个是C++正则表达式做出来的。
class Solution {public: bool detectCapitalUse(string word) { return regex_match(word, regex("[A-Z]+|[a-z]+|[A-Z][a-z]*")); }};
Discuss 网友Python答案:
When adding a boolean in python it is changed to a 1 or 0. You can loop through each character and sum the amount of upper case letters seen.
def detectCapitalUse(self, word): total = 0 for c in word: total += c.isupper() return total == 0 or len(word) == total or (total == 1 and word[0].isupper()) # return all_lowercase or all_uppercase or only_the_first_is_upper
520. Detect Capital
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。