zoukankan      html  css  js  c++  java
  • 520. 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:

    Input: "USA"
    Output: True
    
    Input: "FlaG"
    Output: False

    My Solution:

    public class Solution {
        public boolean detectCapitalUse(String word) {
            String upper = "[A-Z]+";
            String lower = "[a-z]+";
            String other = "[A-Z]?[a-z]+";
            return word.matches(upper) || word.matches(lower) || word.matches(other);
        }
    }

    Others' Solution:

    //1
        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());
        }
    
    //2
        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 == 0 || numUpper == word.length()) return true;
            if (numUpper == 1) return Character.isUpperCase(word.charAt(0));
            return false;
        }
  • 相关阅读:
    平板涂色
    速算游戏_NOI导刊2011提高(04)
    信息学奥赛一本通——配套刷题网站
    求10000以内n的阶乘
    大整数的因子
    计算2的N次方
    大整数加法
    带余除法
    A/B 高精度
    A*B 高静度
  • 原文地址:https://www.cnblogs.com/luojunc/p/6423937.html
Copyright © 2011-2022 走看看