Дано: задана строка s, состоящая из слов и пробелов, верните длину последнего слова в строке. Пример:
Вход: s = "Hello World"
Выходные данные: 5
Пояснения: Последнее слово - "World" длиной 5. Ограничения:
1 <= s.length <= 10^4
s состоит только из английских букв и пробелов ' '.
В s будет хотя бы одно слово. Решение(Python): 1) С использованием списка def lengthOfLastWord(s: str) -> int:
list = s.split()
return len(list[-1]) Преобразуем в список и возвращаем последний элемент списка. Временная сложность: Преобразование в список дает нам сложность O(n)
Пространственная сложность: хранение списка даёт нам O(n) 1) С использованием дополнительной переменной. def lengthOfLastWord(s: str) -> int:
result = 0
for i in range(len(s) - 1, -1, -1):
if s[i] != " ":
result += 1
elif result:
return result
return result Проходим строку из конца в начало, если элемент не пробел прибавляем единицу и целочисленной переменной result, когда наход