https://leetcode.com/problems/detect-capital/description | Easy |
---|
Дана строка, состоящая из букв английского алфавита. Требуется проверить, используется ли регистр букв корректно. Корректное использование регистра — это когда:
• Все буквы в строке заглавные, например, "USA"
.
• Все буквы в строке строчные, например, "leetcode"
.
• Только первая буква заглавная, а остальные строчные, например, "Google"
.
Вернуть true
, если строка использует регистр корректно, и false
в противном случае.
Input:
word = "USA”Output:
true
Input:
word = "FlaG”Output:
false
fun detectCapitalUse(word: String): Boolean {
// Проверяем, если все символы заглавные
if (word == word.toUpperCase()) return true
// Проверяем, если все символы строчные
if (word == word.toLowerCase()) return true
// Проверяем, если только первый символ заглавный, а остальные строчные
if (word[0].isUpperCase() && word.substring(1) == word.substring(1).toLowerCase()) return true
// В остальных случаях регистр используется некорректно
return false
}
O(n) — Проходим по строке несколько раз для проверки условий, где n — длина строки.
O(1) — Используем постоянное количество памяти, не зависящее от длины строки.