Канал для людей, жаждущих совершенствования в мире программирования.
Здесь вы найдете глубокие знания об алгоритмах, структурах данных и подготовке к собеседованиям в IT.
Авторы: @avivasyuta и @tifongod
Наш блог: https://algorithmics-blog.github.io/
Post #90
1.43K

Разворот связанного списка
Привет, друзья. В этот вторник хочется решить что-то новое, но ненапряжное, поэтому давайте расмотрим задачу на связанные списки. С ними мы еще не работали.
Сложность: 🟢 Легкая
ℹ️ Описание
Вам дан односвязный список. Переверните список и верните его.
Список представлен следующей структурой.
⚠️ Ограничения
— Количество узлов в связанном списке находится в диапазоне от 1 до 5000
— Значение каждого узла находится в диапазоне от -5000 до 5000
✅ Решение
Для реализации данной задачи нам всего лишь необходимо перебрать все узлы связанного списка и поменять местами указатели на следующий и предыдущий узлы.
Посмотреть реализацию в блоге
🅾️ Оценка сложности
По времени
Сложность O(n), так как мы итерируемся по всем узлам списка.
По памяти
Сложность O(1), так как мы не выделяем дополнительную память.
#linked_list #easy
Привет, друзья. В этот вторник хочется решить что-то новое, но ненапряжное, поэтому давайте расмотрим задачу на связанные списки. С ними мы еще не работали.
Сложность: 🟢 Легкая
ℹ️ Описание
Вам дан односвязный список. Переверните список и верните его.
Список представлен следующей структурой.
class ListNode {
val: number
next: ListNode | null
}
⚠️ Ограничения
— Количество узлов в связанном списке находится в диапазоне от 1 до 5000
— Значение каждого узла находится в диапазоне от -5000 до 5000
✅ Решение
Для реализации данной задачи нам всего лишь необходимо перебрать все узлы связанного списка и поменять местами указатели на следующий и предыдущий узлы.
Посмотреть реализацию в блоге
🅾️ Оценка сложности
По времени
Сложность O(n), так как мы итерируемся по всем узлам списка.
По памяти
Сложность O(1), так как мы не выделяем дополнительную память.
#linked_list #easy
- 👍 4
- 🔥 2
- ❤ 1

