zoukankan      html  css  js  c++  java
  • LeetCode520. 检测大写字母

    题目给出了正确的大写用法的三种情况,直接根据情况判断即可。

    首先要判断第一个字母是否是大写字母,如果第一个字母不是大写字母,那么单词后面如果出现小写字母,这个单词就不是正确的大写用法。

    如果第一个字母是大写字母,就判断从第二个字母开始到单词结尾的所有字母是否都是小写字母或者都是大写字母,如果都是小写字母或者都是大写字母,则是正确用法,否则不是正确用法。

    代码如下:

    class Solution {
    public:
        bool detectCapitalUse(string word) {
            if(word.size() == 0) {
                return true;
            }
            int n = word.size();
            bool isFirstLetterUpper = isupper(word[0]);           // 判断第一个字母是否是大写字母
            if(isFirstLetterUpper == false) {
                for(int i = 1; i < n; ++i) {
                    if(isupper(word[i])) {                        // 如果第一个字母不是大写字母,且单词后面出现了大写字母,则不是正确用法
                        return false;
                    }
                }
            } else {
                bool isAllLettersUpper = true;                  // 判断从第二个字母开始到单词结尾的所有字母是否都是 大写 字母
                bool isAllLettersLower = true;                  // 判断从第二个字母开始到单词结尾的所有字母是否都是 小写 字母
                for(int i = 1; i < n; ++i) {
                    if(isupper(word[i])) {
                        isAllLettersLower = false;
                    } else {
                        isAllLettersUpper = false;
                    }
                }
                if(!(isAllLettersUpper || isAllLettersLower)) {    // 如果第一个字母为大写字母,则只有当从第二个字母开始到单词结尾的所有字母都是 大写字母 或 小写字母 时,这个单词才是正确的大写用法
                    return false;
                }
            }
            return true;
        }
    };
    
  • 相关阅读:
    Linux 编译kernel有关Kconfig文件详解
    STM32之DMA实例
    容器技术与docker
    老男孩Python全栈学习 S9 日常作业 010
    Centos 7 最小化Fastdfs安装部署
    老男孩Python全栈学习 S9 日常作业 009
    老男孩Python全栈学习 S9 日常作业 008
    service
    Spinner的用法
    控制led灯并显示自己的数值
  • 原文地址:https://www.cnblogs.com/linrj/p/13972559.html
Copyright © 2011-2022 走看看