leetcode的每天一题更新(Detect Capital )

题目:判断一个字符串真假,为真条件1:全部都为大写字母 2.全为小写字母 3.只有第一个为大写,其他的为小写字母。
解题思路:用最懒的方法,把数组化为字符数组,一个一个判断,并且用两个int来记录小写和小写字母的个数,结束循环后写一个if三个条件用||来判断,如果小写字母的个数==字符串数组的个数或者大写字母的个数==字符数组的个数或者大写字母个数==1小写字母==字符串数组长度-1并且字符数组第一个为大写 时返回真,否则返回假,附上代码

   public boolean detectCapitalUse(String word) {
        char[] a=word.toCharArray();
        int daxie=0;
        int xiaoxie=0;
        for(int i=0;i=97&&a[i]<=122 ){
                xiaoxie++;
            }
            if(a[i]>=65 && a[i]<=90 ){
                daxie++;
            }
        }
        if(daxie==a.length || xiaoxie==a.length || ((daxie==1&&xiaoxie==a.length-1)&&(a[0]>=65&&a[0]<=90))){
            return true;
        }else{
            return false;
        }
    }

答案和我是一样的,不过其中一个答案有趣,用的是库函数解决的,附上看看:

 public boolean detectCapitalUse(String word) {
        return word.equals(word.toUpperCase()) || 
               word.equals(word.toLowerCase()) ||
               Character.isUpperCase(word.charAt(0)) && 
               word.substring(1).equals(word.substring(1).toLowerCase());
    }

你可能感兴趣的:(leetcode的每天一题更新(Detect Capital ))