leetcode 520. 检测大写字母

该问题要求判断一个字符串中的大写字母使用是否符合特定规则:全大写、全小写或仅首字母大写。提供的解决方案通过遍历字符串,检查大写字母的位置来确定是否符合规范。如果发现不符合的情况,如大写字母在小写字母之后或存在多个连续大写字母,则返回false,否则返回true。
摘要由CSDN通过智能技术生成

leetcode 520. 检测大写字母.


题目描述

  1. 检测大写字母

我们定义,在以下情况时,单词的大写用法是正确的:

全部字母都是大写,比如 "USA" 。 单词中所有字母都不是大写,比如 "leetcode" 。 如果单词不只含有一个字母,只有首字母大写, 比如 "Google" 。 给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。

示例 1:

输入:word = "USA" 输出:true 示例 2:

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

提示:

1 <= word.length <= 100 word 由小写和大写英文字母组成

解题思路

法1

模拟判断
模拟不满足条件的判断\

  1. 大写字母在小写字母之后 \
  2. 有多个大写字母与小写字母
  • 时间复杂度(O(n))
  • 空间复杂度(O(1))

执行结果

法1
// 520. 检测大写字母
// 我们定义,在以下情况时,单词的大写用法是正确的:
// 全部字母都是大写,比如 "USA" 。
// 单词中所有字母都不是大写,比如 "leetcode" 。
// 如果单词不只含有一个字母,只有首字母大写, 比如 "Google" 。
// 给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。
func detectCapitalUse(word string) bool {
 for i := 1; i < len(word); i++ {
  if word[i] < 97 && word[i-1] >= 97 || word[1] < 97 && word[i] >= 97 { //模拟不满足条件的判断1. 大写字母在小写字母之后 2.有多个大写字母与小写字母
   return false
  }
 }
 return true
}

执行结果: 通过 显示详情 查看示例代码 添加备注

执行用时: 0 ms , 在所有 Go 提交中击败了 100.00% 的用户 内存消耗: 1.9 MB , 在所有 Go 提交中击败了 100.00% 的用户 通过测试用例: 551 / 551

本文由 mdnice 多平台发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值