算法题5

2023-11-16

题目

给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的:
全部字母都是大写,比如"USA"。
单词中所有字母都不是大写,比如"leetcode"。
如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。
否则,我们定义这个单词没有正确使用大写字母。
来源:力扣(LeetCode)
在这里插入图片描述

分析

分析题目,要求对输入的非空单词判断其大写使用是否正确。
首先,根据首字母可以将单词分为两大类讨论:首字母大写和首字母小写,用变量temp记录。
1.若首字母是小写字母,则后面的字母都要小写,不能出现大写字母,否则返回false;
2.若首字母是大写字母,则后面的字母要均是大写或均是小写,后面的字母与前一个字母同时为大写/小写,否则不符合规则,返回false。

代码

bool detectCapitalUse(char * word){
    int i = 1,temp = 0;
    //A= 65, a = 97
    if(word[0] >= 97){//若第一个字母是小写,则temp=1
        temp = 1;
    }
    if(temp == 0){//首字母大写
        if(word[i] == '\0'){//如果只有一个字母,则直接返回true
            return true;
        }
        i++;
        for(; word[i] != '\0'; i++){//判断前一个字母和后一个字母是不是均为小写字母/大写字母
            if((word[i] >= 97 && word[i-1] < 97) || (word[i] < 97 && word[i-1] >= 97)){
                return false;
            }
        }
    }else{//首字母小写
        for(; word[i] != '\0'; i++){
            if(word[i] < 97){//出现大写字母则返回false
                return false;
            }
        }
    }
    return true;
}

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

算法题5 的相关文章

随机推荐

  • Python中,如何初始化不同的变量类型为空值

    常见的数字 字符 很简单 不多解释 列表List的其值是 x y z 的形式 字典Dictionary的值是 x a y b z c 的形式 元组Tuple的值是 a b c 的形式 所以 这些数据类型的变量 初始化为空值分别是 数值 di
  • 影视剪辑,短视频从拍摄到剪辑,超详细教程

    Hello 在这个短视频时代很多小伙伴想拍摄短视频 却无从下手 给你们分享一下 新手拍短视频的技巧 希望能帮助你轻松入门 关于视频后期制作也分享8个技巧 一 闪白 在视频拍摄剪辑合成节目时 如果不直接使用白帧叠化 而是在原素材上调高gamm
  • 基于STM32的IAP技术分享

    基于STM32的IAP技术分享 1 烧录过程说明 2 厂家bootloader 3 bootloader区和APP区空间划分 4 bootloader区和APP程序内容说明 5 实验 5 1实验所用到的上位机软件 5 2 bootloade
  • 7.STM32IO引脚的复用和映射

    1 端口复用是什么 STM32有很多内置外设 这些外设的外部引脚都是可以与GPIO复用的 一个GPIO可以复用为外置内设的功能引脚 就是一个IO口可以作为很多的功能 可以根据情况选择功能 例如PA9 PA10 是作为串口使用的 而不是作为普
  • reactor模式 proator模式

    reactor模式 浅析 http www cnblogs com dolphin0520 p 3916526 html http blog csdn net xcwll sina article details 47783665 在事件驱
  • KVM中virtio-user工作思路(十二)

    主要查看一下virtio user的工作思路 个人觉得他主要是用来替换KNI或者OVS的TAP设备 更好的用法应该是给container来用 主要是通过操作 dev vhost net创建kernel的tap设备用 然后kernel和vir
  • 通用服务器系统,Engine

    Engine C 服务器编程底层库 特点 Windows Linux双平台 Windows下为静态库 主要方便开发者调试 Linux下为动态库 用于生产环境部署 基本包含集成服务器常用模块 数学 文件系统 配置 日志 网络 脚本 时间 多线
  • AI 人工智能之常见概率分布(1)

    二项分布 考察由n次随机试验组成的随机现象 它满足以下条件 1 重复进行n次随机试验 2 n次试验相互独立 3 每次试验仅有两个可能结果 4 每次试验成功的概率为p 失败的概率为1 p 在上述四个条件下 设X表示n次独立重复试验中成功出现的
  • PHP中常见的命令执行函数与代码执行函数

    部分参考 eval函数和system函数的区别 代码执行漏洞和命令执行漏洞 美豆阿的博客 CSDN博客 渗透测试之 PHP中常见的命令执行函数及其利用与防御 通地塔的博客 CSDN博客 php中代码执行 命令执行函数 卿先生 博客园 目录
  • CS109: Probability for Computer Scientists笔记1

    维生素C吃多了会上火 个人CSDN博文目录 CS109 Probability for Computer Scientists Summer 2022笔记合集
  • 算法--生成1~n的排列

    在暴力求解法中 我们常常要用上枚举一些简单内容以便方便获得解 若要输出整数n的前n个整数的全排列 则按字典序输出为 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 从中我们似乎发现了一些规律 先输出以1开头的排列 再
  • 海致大数据京信_5G行情再度点燃,6大细分领域龙头股曝光!(名单)

    今年的的主线行情依然是科技股 而科技当以看5G和华为为主 5G板块已经走了三周的震荡 空头明显有衰竭之像 5G产业链的细分行业龙头 基站天线 拥有5G大规模天线技术的核心厂家 以及天线和射频一体化趋势的行业变革对天线厂家的影响 000063
  • PowerDesigner15的PDM中表图显示NAME和CODE

    在POWERDESIGNER15里 设计PDM中的表默认只显示字段的解析名和数据类型 如果需要显示NAME的同时也显示CODE 按下面的方法操作设置 在空白处右键 选Display Preferences 在弹出对话框中的左边树选择TABL
  • bitmap 位图 头结构

    转自 http www cnblogs com lzlsky archive 2012 08 16 2641698 html 位图BITMAPINFOHEADER 与BITMAPFILEHEADER 先来看BITMAPINFOHEADER
  • 使用QGIS软件对面数据顶点编辑实现数据的微改动

    在平时的项目中 会出现网上下载的数据与实际不符 有一些小小的偏差 这时候需要对一些区域数据进行微调 这就可以利用QGIS的顶点工具进行操作 目录 1 第一步 数据加载 2 第二步 图层编辑 3 第三步 顶点工具 4 第四步 具体操作 1 第
  • js中的分割截取方法

    在我们平时写项目以及做算法题时 经常会遇到截取字符串 截取数组 然后我发现每次用的方法都不一样 但是又长得很像 很容易搞不清楚 所以这篇博客就浅浅地来说一说这个问题 我们常用的分割方法主要有split splice slice substr
  • 【蒸汽冷凝器型号和PI控制】具有PID控制的蒸汽冷凝器的动力学模型(Matlab&Simulink)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 Simulink及文章 1 概述 摘要 建立了蒸汽冷凝器
  • 【Oracle】使用DataGrip连接Oracle数据库

    前言 因为PLSQL Developer试用期过期了 于是使用DataGrip连接Oracle进行学习使用 连接 1 创建连接 2 配置连接 2 1 Name 随便改 改一个合适的名字即可 2 2 Host Port SID Driver
  • C++ - 使用sort函数实现自定义排序

    1 背景 给你一些学生的资料数据 单个学生的资料数据包括如下内容 class student public int m age int m sex string m name public student int age int sex s
  • 算法题5

    题目 给定一个单词 你需要判断单词的大写使用是否正确 我们定义 在以下情况时 单词的大写用法是正确的 全部字母都是大写 比如 USA 单词中所有字母都不是大写 比如 leetcode 如果单词不只含有一个字母 只有首字母大写 比如 Goog