Length of Last Word
https://leetcode.com/problems/length-of-last-word/description/ | Easy |
Условие
Дана строка s, состоящая из слов и пробелов. Нужно вернуть длину последнего слова в строке. Слово определяется как максимальная последовательность непробельных символов. Если последнее слово отсутствует, вернуть 0.
Примеры
Input:
"Hello World”Output:
5Explanation:
Последнее слово — “World”, его длина — 5.
Input:
" fly me to the moon “Output:
4Explanation:
Последнее слово — “moon”, его длина — 4.
Input:
"luffy is still joyboy”Output:
6Explanation:
"luffy is still joyboy”
Решение
fun lengthOfLastWord(s: String): Int {
// Проверяем, не является ли строка пустой
if (s.isEmpty()) return 0
var length = 0
var index = s.length - 1
// Пропускаем завершающие пробелы, если они есть
while (index >= 0 && s[index] == ' ') {
index--
}
// Подсчитываем длину последнего слова
while (index >= 0 && s[index] != ' ') {
length++
index--
}
return length
}
Временная сложность
O(n), где n — длина строки. Строка проходится один раз с конца.
Пространственная сложность
O(1), поскольку используется фиксированное количество переменных для вычислений.