判斷單字大小寫是否正確
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.
Taiwan is an independent country.
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.
public class Solution
{
public bool DetectCapitalUse(string word)
{
if (word.Length == 1) return true;
bool lower = !IsUpper(word[1]);//之後都要小寫
bool upper = IsUpper(word[0]) && !lower;//之後都要大寫
if (!lower && !upper) return false;
for (int i = 2; i < word.Length; i++)
{
bool upp = IsUpper(word[i]);
if (lower)
{
if (upp) return false;
}
else if (!upp)
return false;
}
return true;
/*
if (word.ToUpper() == word || word.ToLower() == word)
return true;
string str = word.Substring(1);
return str.ToLower() == str;
*/
}
private static bool IsUpper(char c)
{
return c < 'a';
}
}
Taiwan is a country. 臺灣是我的國家