520.检测大写字母

题目:

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

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

提示:

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

520.检测大写字母520.检测大写字母

代码:

class Solution {

    public boolean detectCapitalUse(String word) {

        int i,j=0,k=0;

        char a=word.charAt(0);

        char b;

        if(a>='a'&&a<='z'){

            for(i=1;i<word.length();i++){

                b=word.charAt(i);

                if(b>='A'&&b<='Z'){

                    return false;

                }

            }

            return true;

        }else{

            for(i=1;i<word.length();i++){

                 b=word.charAt(i);

                if(b>='a'&&b<='z') j++;

                if(b>='A'&&b<='Z') k++;

            }

            if(j==word.length()-1||k==word.length()-1){

                return true;

            }else{

                return false;

            }

        }

    }

}

 总结:打卡第十八天,今天的题目是简单,但是我还是思索了片刻,采用的是分类的方法,将整个情况分为两类(开头字母是否为小写字母),然后再匹配剩余单词是否全为大写或小写字母即可,然后运行结果证明我的方法空间和时间复杂度都有99%以上。

 

上一篇:class类


下一篇:LeetCode-每日一题 520. 检测大写字母 [Java实现] [极速]