Реверс связанного списка
По заданному заголовку односвязного списка перевернуть список и вернуть перевернутый список.
Пример 1:

Ввод: head = [1,2,3,4,5] Вывод: [5,4,3,2,1]
Пример 2:

Ввод: head = [1,2] Вывод: [2,1]
Пример 3:
Ввод: head = [] Вывод: []
Количество узлов в списке находится в диапазоне [0, 5000]. -5000
Последующие действия. Связанный список можно реверсировать итеративно или рекурсивно. Не могли бы вы реализовать оба варианта?
Решение
Подход 1: итеративный
def reverse_list(head: ListNode) -> ListNode: prev = None current = head while current: next = current.next current.next = prev prev = current current = next return prev
Сложность пространства: O(1) Временная сложность: O(n)
Подход 2: рекурсивный
def reverse_list(head: ListNode) -> ListNode: if not head or not head.next: return head new_head = reverse_list(head.next) head.next.next = head head.next = None return new_head
Пространственная сложность: O(n) Временная сложность: O(n)
Обратный список Python
В этом посте мы обсудим, как перевернуть список в Python.
1. Использование встроенного reversed() функция
Вы можете использовать встроенную функцию reversed() который возвращает обратный итератор.
if __name__ == ‘__main__’ :
a = [ 1 , 2 , 3 , 4 , 5 ]
rev = list ( reversed ( a ) )
print ( rev ) # печатает [5, 4, 3, 2, 1]
2. Использование списков reverse() функция
Чтобы поменять местами элементы списка на месте, используйте список reverse() функция.
if __name__ == ‘__main__’ :
a = [ 1 , 2 , 3 , 4 , 5 ]
a . reverse ( )
print ( a ) # печатает [5, 4, 3, 2, 1]
3. Использование расширенной нарезки
Синтаксис нарезки поддерживает необязательный третий шаг аргумент. Отрицательные значения можно использовать для создания копии того же списка в обратном порядке.
if __name__ == ‘__main__’ :
a = [ 1 , 2 , 3 , 4 , 5 ]
rev = a [ :: — 1 ]
print ( rev ) # печатает [5, 4, 3, 2, 1]
Это все, что нужно для обращения списка в Python.
Оценить этот пост
Средний рейтинг 4.54 /5. Подсчет голосов: 24
Голосов пока нет! Будьте первым, кто оценит этот пост.
Сожалеем, что этот пост не оказался для вас полезным!
Расскажите, как мы можем улучшить этот пост?
Спасибо за чтение.
Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.
Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂
Подписывайся
3 Комментарии
Большинство голосов
Новейшие Самый старый
Встроенные отзывы
Просмотреть все комментарии
Просмотр комментариев
Загрузить больше комментариев
Просматривать
Подпишитесь на новые публикации
- Все проблемы
- Практика DSA
- 100 самых популярных задач
- 50 лучших классических задач
- Лучшие алгоритмы
- Компилятор С/С++
- Компилятор Java
- Компилятор Python
- Компилятор JavaScript
- компилятор PHP
- Компилятор C#
- Свяжитесь с нами
- Политика конфиденциальности
- условия обслуживания
- Подпишитесь на новые публикации
Techie Delight © 2023 Все права защищены.
Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно
Перевернутый список
Перевернутый массив
Всем добрый вечер! Помогите, пожалуйста, с задачкой: Перевернуть в обратную сторону сначала 2.
Перевёрнутый список
Нужно перевернуть список с помощью функции recursive_reverse(some_list). мой код: a = def.

matplotlib перевернутый график статистики
Здравствуте. Как используя matplotlib вывести линейный график в перевернутом виде, т.е. чем больше.
2421 / 1463 / 633
Регистрация: 01.11.2021
Сообщений: 2,269

Сообщение было отмечено Den_00 как решение
Решение
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
def filter_positive(arr): if not arr: return arr if arr[0] 0: return filter_positive(arr[1:]) else: return [arr[0]] + filter_positive(arr[1:]) print(filter_positive([])) # [] print(filter_positive([-3])) # [] print(filter_positive([1, -2, 3])) # [1, 3] def reverse_range(begin, end): if begin == end: return [begin] return [end] + reverse_range(begin, end - 1) print(reverse_range(1, 1)) # [1] print(reverse_range(1, 3)) # [3, 2, 1]
Как перевернуть список в Python
Про списки в языке программирования Python я уже начала рассказывать, ссылки на предыдущие статьи оставлю немного ниже, так же рекомендую обязательно их прочитать. Они позволять вам разобраться со следующими двумя вопросами, первый, как в списке найти одинаковые элементы и посчитать их количество и второй как можно удалить определенные элементы списка. Сегодня рассмотрим еще один метод reverse() который позволяет перевернуть список, вывести его элементы на оборот. Реализовать все это очень просто буквально с помощью одной строчки кода.
Как вывести список элементов наоборот Python
И так для примера возьмем самый простой список с элементами от 1 до 10.

Для того чтобы этот список перевернуть и вывести его элементы наоборот нужно использовать метод reverse() добавить в код вот такую строчку.
numbers.reverse()
Вместо numbers пишите название вашего списка, но думаю это и так понятно.

Вот таким образом в Python можно вывести элементы любого списка в обратном порядке.
