博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
520 Detect Capital
阅读量:5876 次
发布时间:2019-06-19

本文共 1159 字,大约阅读时间需要 3 分钟。

我的code,就是阅读理解,但是比较完备,tolerant String可能不规范的情况。

public boolean detectCapitalUse(String word) {		if (word == null || word.length() <= 1) {			return true;		}		for (int i = 0; i < word.length(); i++) {			//首字母小写			if (isLowerCaseLetter(word.charAt(0))) {				if (!isLowerCaseLetter(word.charAt(i))) {					return false;				}			}			//首字母大写			else if (isUpperCaseLetter(word.charAt(0))) {				if (isUpperCaseLetter(word.charAt(1))) {					if (i > 1 && !isUpperCaseLetter(word.charAt(i))) {						return false;					}				} else if (isLowerCaseLetter(word.charAt(1))) {					if (i > 1 && !isLowerCaseLetter(word.charAt(i))) {						return false;					}				}			} else {				return false;			}		}		return true;	}	private boolean isLowerCaseLetter(char c) {		return c <= 'z' && c >= 'a';	}	private boolean isUpperCaseLetter(char c) {		return c <= 'Z' && c >= 'A';	}复制代码

简洁的代码:

public class Solution {    public boolean detectCapitalUse(String word) {        int cnt = 0;        for(char c: word.toCharArray()) if('Z' - c >= 0) cnt++;        return ((cnt==0 || cnt==word.length()) || (cnt==1 && 'Z' - word.charAt(0)>=0));    }}复制代码

转载于:https://juejin.im/post/5a3132ee51882527541051d0

你可能感兴趣的文章
Linux 防火墙iptables命令详解
查看>>
打造笔记本电脑基地重庆要当全球“老大”
查看>>
处理 Oracle SQL in 超过1000 的解决方案
查看>>
《JAVA与模式》之简单工厂模式
查看>>
Alpha线性混合实现半透明效果
查看>>
chkconfig 系统服务管理
查看>>
一个简单的运算表达式解释器例子
查看>>
ORACLE---Unit04: SQL(高级查询)
查看>>
Entity Framework Code First 模式-建立多对多联系
查看>>
[LeetCode] Reverse Lists
查看>>
前台页面之<base>标签
查看>>
angular分页插件tm.pagination 解决触发二次请求的问题
查看>>
day08-文件操作
查看>>
教学-45 对象的相等
查看>>
贪食蛇
查看>>
关于Spring 中的事务
查看>>
为什么现在都用面向对象开发,为什么现在都用分层开发结构?
查看>>
【离散数学】 SDUT OJ 偏序关系
查看>>
写给学弟学妹的产品入门建议(持续更新)
查看>>
view视图总结
查看>>