Skip to content

Latest commit

 

History

History
46 lines (38 loc) · 1.3 KB

520. Detect Capital.md

File metadata and controls

46 lines (38 loc) · 1.3 KB

520. Detect Capital

Detect Capital - LeetCode

code1

class Solution {
    public boolean detectCapitalUse(String word) {
        if (word.length() == 1) return true;

        for (int i = 0; i < word.length(); ) {
            if (Character.isLowerCase(word.charAt(i))) {
                while (i < word.length()) {
                    if (!Character.isLowerCase(word.charAt(i++))) return false;
                }
            }else if (Character.isUpperCase(word.charAt(++i))){
                while (i < word.length()) {
                    if (!Character.isUpperCase(word.charAt(i++))) return false;
                }
            }
        }

        return true;
    }
}

code2

class Solution {
    public boolean detectCapitalUse(String word) {
       if (Character.isLowerCase(word.charAt(0))) {
            StringBuilder str = new StringBuilder(word.toLowerCase());
            return str.toString().equals(word);
        }

            String str1 = word.toUpperCase();
            StringBuilder str2 = new StringBuilder();
            str2.append(Character.toUpperCase(word.charAt(0)));
            str2.append(word.substring(1).toLowerCase());
            return str2.toString().equals(word) || str1.toString().equals(word);
    }
}