LeetCode題解:520.檢測大寫字母

檢測大寫字母

一、LeetCode題解

瞧一瞧(求star!)

二、算法題

題目

給定一個單詞,你需要判斷單詞的大寫使用是否正確。

我們定義,在以下情況時,單詞的大寫用法是正確的:

全部字母都是大寫,比如"USA"。
單詞中所有字母都不是大寫,比如"leetcode"。
如果單詞不只含有一個字母,只有首字母大寫, 比如 “Google”。
否則,我們定義這個單詞沒有正確使用大寫字母。

示例 1:

輸入: "USA"
輸出: True
示例 2:

輸入: "FlaG"
輸出: False

解法一 (暴力法)

思路

  • 按照規則依次遍歷

代碼

function changeWord(s) {
    var newS = s.toUpperCase()
    return newS === s
}
var detectCapitalUse = function(word) {
    const len = word.length

    if(len === 1 && !changeWord(word)) return true
    if(changeWord(word[0])){
        let index = 1
        for(let i = 1; i < len; i++){
            if(changeWord(word[i])) index++
        }
        return index === len || index === 1
    }
    if(!changeWord(word[0])){
        for(let i = 1; i < len; i++){
            if(changeWord(word[i])) return false
        }
        return true
    }
    return false
};

結果

在這裏插入圖片描述

關於我

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章