520. Detect Capital

我的code,就是閱讀理解,但是比較完備,tolerant String可能不規(guī)范的情況。

    public boolean detectCapitalUse(String word) {
        if (word == null || word.length() <= 1) {
            return true;
        }
        for (int i = 0; i < word.length(); i++) {
            //首字母小寫
            if (isLowerCaseLetter(word.charAt(0))) {
                if (!isLowerCaseLetter(word.charAt(i))) {
                    return false;
                }
            }
            //首字母大寫
            else if (isUpperCaseLetter(word.charAt(0))) {
                if (isUpperCaseLetter(word.charAt(1))) {
                    if (i > 1 && !isUpperCaseLetter(word.charAt(i))) {
                        return false;
                    }
                } else if (isLowerCaseLetter(word.charAt(1))) {
                    if (i > 1 && !isLowerCaseLetter(word.charAt(i))) {
                        return false;
                    }
                }
            } else {
                return false;
            }
        }
        return true;
    }

    private boolean isLowerCaseLetter(char c) {
        return c <= 'z' && c >= 'a';
    }

    private boolean isUpperCaseLetter(char c) {
        return c <= 'Z' && c >= 'A';
    }

簡潔的代碼:

public class Solution {
    public boolean detectCapitalUse(String word) {
        int cnt = 0;
        for(char c: word.toCharArray()) if('Z' - c >= 0) cnt++;
        return ((cnt==0 || cnt==word.length()) || (cnt==1 && 'Z' - word.charAt(0)>=0));
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,954評(píng)論 25 709
  • 寫了這么多題,感覺用go寫真方便,可以直接對(duì)解題的函數(shù)進(jìn)行測試,測試代碼寫起來也好方便,多個(gè)測試用例很方便就放在一...
    miltonsun閱讀 473評(píng)論 0 0
  • 題目 Given a word, you need to judge whether the usage of c...
    Eazow閱讀 374評(píng)論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評(píng)論 19 139
  • 老五回來了,帶著老婆孩子。 老五在城南舊街找了一間房子,把老婆孩子先安頓好。隨后,他去了舊街的舊貨市場買了一張雕花...
    茶人老七閱讀 381評(píng)論 2 1

友情鏈接更多精彩內(nèi)容