zoukankan      html  css  js  c++  java
  • *LeetCode--Detect Capital

    Detect Capital   

    Given a word, you need to judge whether the usage of capitals in it is right or not.

    We define the usage of capitals in a word to be right when one of the following cases holds:

    1. All letters in this word are capitals, like "USA".
    2. All letters in this word are not capitals, like "leetcode".
    3. Only the first letter in this word is capital if it has more than one letter, like "Google".

    Otherwise, we define that this word doesn't use capitals in a right way.

    Example 1:

    Input: "USA"
    Output: True
    

    Example 2:

    Input: "FlaG"
    Output: False
    

    Note: The input will be a non-empty word consisting of uppercase and lowercase latin letters.

    自己的方法,一个一个字符的判断(要注意边界条件)

    class Solution {
        public boolean detectCapitalUse(String word) {
            if(word == null || word.length() == 0) return false;
            if(word.length() == 1) return true;
            boolean flag = (word.charAt(0) >= 'A' && word.charAt(0) <= 'Z') ? true : false;
            
            if(flag){
                boolean upper = (word.charAt(1) >= 'A' && word.charAt(1) <= 'Z' && flag) ? true : false;
                for(int i = 1; i < word.length(); i++){
                    if(upper && word.charAt(i) >= 'a' && word.charAt(i) <= 'z') return false;
                    if(!upper && word.charAt(i) >= 'A' && word.charAt(i) <= 'Z') return false;
                }
            }else{
                for(int i = 1; i < word.length(); i++){
                    if(word.charAt(i) >= 'A' && word.charAt(i) <= 'Z') return false;
                }
            }
            return true;
        }
    }
    

      

    如 mL, FFFFFFFFFFFFf

    别人的方法:直接调用线程的方法

    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());
        }
    A slightly more verbose, but more efficient solution:
    
        public boolean detectCapitalUse(String word) {
            int numUpper = 0;
            for (int i=0;i<word.length();i++)
                if (Character.isUpperCase(word.charAt(i))) numUpper++;
            if (numUpper == 1) return Character.isUpperCase(word.charAt(0));
            return numUpper == 0 || numUpper == word.length();
        }
    

      

  • 相关阅读:
    js获取当前时间
    jQuery动画
    label用js,jquery取值赋值,以及怎么在后台取值
    jquer 事件,选择器,dom操作
    linq分页组合查询
    linq的简单增删改查
    内置对象session ,cookic,Application,ViewState
    listview控件及其与数据库的连接
    Mybatis 学习
    UML类图的6中关系
  • 原文地址:https://www.cnblogs.com/SkyeAngel/p/9063874.html
Copyright © 2011-2022 走看看