520. Detect Capital
Description:
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".
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.
Subscribe to see which companies asked this question.
分析:题目的意思是判断大写字母的用法是否正确。正确的用法有三种:
一、单词中全部字母都是大写字母;
二、单词中全部字母都是小写字母;
三、单词中只有首字母是大写字母并且该单词有多于一个字母;
结合ASCLL表格很容易就用if语句写出程序。
My C++ code :
class Solution {
public:
bool detectCapitalUse(string word) {
int up = 0 ;
int low = 0 ;
int length = word.length() ;
for (int i = 0 ; i < length ; i ++ )
{
if(word[i] < 91) up ++ ;
if(word[i] > 96) low ++ ;
}
if (up == length || low == length) return true ;
else if (up == 1 && low ==length - 1 && word[0] < 91 && length > 1) return true ;
else return false ;
}
};
PS:上次写过第一周的作业了,这周回顾的时候发现全都是乱码。于是重新写过