美文网首页
leetcode的每天一题更新(Detect Capital )

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

作者: 今天是晴天 | 来源:发表于2017-04-19 16:44 被阅读0次

    题目:判断一个字符串真假,为真条件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<a.length;i++){
                if(a[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 )

          本文链接:https://www.haomeiwen.com/subject/bvrhzttx.html