Где применяется
1. Задача
Ради этого связный список и отказывается от доступа по индексу. В массиве вставка на позицию 2 сдвигает каждый следующий элемент на одну ячейку дальше, а удаление сдвигает их обратно. И то и другое стоит O(n) копирований. В связном списке вставка в середину меняет ровно две ссылки, а удаление одну, какой бы длинной ни была цепочка. В этом уроке ты пишешь эти две операции: поставить узел на позицию i и вытащить узел с позиции i. Именно ради таких дешёвых правок связные списки и используют.
Этот шаг из платной части
Бесплатные шаги в начале курса (их 33) открыты всем: урок, задача и тесты. Этот шаг открывается с полным доступом. Начни с бесплатного аккаунта и бесплатных шагов.
Завести бесплатный аккаунтПосмотреть, что входитНа LeetCode
Задачи, где в связный список нужно вставить узлы или удалить их, в голове, в середине или там, где совпало значение. Найди узел перед нужным местом и перепривяжи один или два указателя next.
Удаляй каждый узел с этим значением, направляя prev.next в обход него, и не забудь про голову.
Равные значения стоят рядом, поэтому пропускай узел, если он повторяет предыдущий.
addAtIndex и deleteAtIndex повторяют insertAt и deleteAt из урока под другими именами.
Найди узел перед a и узел после b и вставь между ними весь list2.