LeetCode每日一題: 檢測大寫字母(No.520)
摘要:
給定一個單詞,你需要判斷單詞的大寫使用是否正確。
我們定義,在以下情況時,單詞的大寫用法是正確的:
1、全部字母都是大寫,比如"USA"。
2、單詞中所有字母都不是大寫,比如"leetcode"。
3、如果單詞不只含有一個字母,只有首字母大寫, 比如 "...
給定一個單詞,你需要判斷單詞的大寫使用是否正確。 我們定義,在以下情況時,單詞的大寫用法是正確的: 1、全部字母都是大寫,比如"USA"。 2、單詞中所有字母都不是大寫,比如"leetcode"。 3、如果單詞不只含有一個字母,只有首字母大寫, 比如 "Google"。 否則,我們定義這個單詞沒有正確使用大寫字母。 複製程式碼
示例:
輸入: "USA" 輸出: True 輸入: "FlaG" 輸出: False 複製程式碼
思考:
這題分三種情況:全大寫、全小寫、只有首字母大寫。其他情況皆是false。 所以用一個value記錄大寫字元個數,迴圈字串字元,是大寫字母value+1。 最後根據value的值判斷結果,如果相等則說明字元全大寫返回true。如果value為0說明全小寫返回true。 如果value等於1,在檢視首字元是否為大寫,是則返回true,否則返回false。 複製程式碼
實現:
class Solution { public boolean detectCapitalUse(String word) { char[] letters = word.toCharArray(); int len = letters.length; int value = 0; for(int i = 0;i < len;i++){ if(letters[i] <= 'Z' && letters[i] >= 'A'){ value = value + 1; } } if(value == len || value == 0) return true; if(value == 1 && letters[0] <= 'Z' && letters[0] >= 'A') return true; return false; } 複製程式碼
}