1. 程式人生 > 其它 >Leetcode 520. 檢測大寫字母(可以,已解決)

Leetcode 520. 檢測大寫字母(可以,已解決)


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

  • 全部字母都是大寫,比如 "USA" 。
  • 單詞中所有字母都不是大寫,比如 "leetcode" 。
  • 如果單詞不只含有一個字母,只有首字母大寫, 比如 "Google" 。

給你一個字串 word 。如果大寫用法正確,返回 true ;否則,返回 false 。

示例 1:

輸入:word = "USA"
輸出:true

示例 2:

輸入:word = "FlaG"
輸出:false

提示:

  • 1 <= word.length <= 100
  • word 由小寫和大寫英文字母組成

Code:

class Solution {
public:
    bool detectCapitalUse(string word) {
        if(word[0]>='A'&&word[0]<='Z')
        {
            string s1=word;
            transform(s1.begin(),s1.end(),s1.begin(),::toupper);
            if(s1==word)
                return true;
            
            
            
            string s3=word;
            transform(s3.begin()+1,s3.end(),s3.begin()+1,::tolower);
            if(s3==word)
                return true;

        }
        else
        {
            string s2=word;
            transform(s2.begin()+1,s2.end(),s2.begin()+1,::tolower);
            if(s2.substr(1)==word.substr(1))
                return true;
        }
        return false;
    }
};