Loading... > https://leetcode.cn/problems/detect-capital/description/?envType=daily-question&envId=2024-05-02 简单题,先判断类型然后遍历判断即可。 ```c++ class Solution { public: bool detectCapitalUse(std::string word) { if (word.length() == 1) return true; if (word[0] >= 'A' && word[0] <= 'Z' && word[1] >= 'A' && word[1] <= 'Z') return std::all_of(word.begin(), word.end(), [](char c) { return c >= 'A' && c <= 'Z'; }); if (word[0] >= 'A' && word[0] <= 'Z' && word[1] >= 'a' && word[1] <= 'z') return std::all_of(word.begin() + 1, word.end(), [](char c) { return c >= 'a' && c <= 'z'; }); if (word[0] >= 'a' && word[0] <= 'z' && word[1] >= 'a' && word[1] <= 'z') return std::all_of(word.begin(), word.end(), [](char c) { return c >= 'a' && c <= 'z'; }); return false; } }; ``` - 时间复杂度:$O(n)$ ,其中 $n$ 为字符串长度。 - 空间复杂度:$O(1)$ 。 最后修改:2024 年 06 月 23 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏