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;
        }
  • 相关阅读:
    199. 二叉树的右视图
    二叉树前、中、后、层次、遍历的非递归法
    奇思妙想
    917. 仅仅反转字母【双指针】
    JVM性能监控与故障处理工具
    Java线程池使用和常用参数(待续)
    MySQL常用知识
    手写常用算法
    LightOj 1170
    逆元总结
  • 原文地址:https://www.cnblogs.com/luojunc/p/6423937.html
Copyright © 2011-2022 走看看