151. Reverse Words in a String

Обновлено: 2024-03-12
1 мин
[]

LeetCode задача 151

Задача

На вход подается строка s. Нам необходимо перевернуть порядок слов в этой строке. Слова определяются как последовательность символов без пробелов. Слова в s разделены хотя бы одним пробелом. Нужно вернуть строку, в которой слова расположены в обратном порядке, разделенные одним пробелом.

Важно: строка s может содержать начальные или конечные пробелы или множественные пробелы между двумя словами. В возвращаемой строке должен быть только один пробел, разделяющий слова. Лишние пробелы не включаем.

Подход

Для решения задачи мы можем разделить строку на слова, используя пробел в качестве разделителя, а затем просто объединить их в обратном порядке.

Алгоритм

  1. Разделяем строку на слова.
  2. Переворачиваем список слов.
  3. Объединяем слова в строку, разделяя их одним пробелом.

Python Solution

def reverseWords(s: str) -> str:
    # Разделяем строку на слова и сохраняем их в список
    words = s.split()
    
    # Переворачиваем список слов
    words.reverse()
    
    # Объединяем слова в строку, разделяя их одним пробелом
    return ' '.join(words)