Вывод
Дневник цели

Прорешал повторно задачу Merge Two Sorted Lists. Перемудрил с дополнительными переменными, они оказались избыточными. И казалось бы, алгоритм верный, но что-то пошло не так. По итогу получаса полез разбирать решения. Подход был понятен, доработал код, и задача принята.
Временная сложность O(n), пространственная сложность алгоритма O(1).

Прорешал повторно задачу Design Linked List. На этот раз необходимо было доработать реализацию односвязного списка до двухсвязного. Я попытался это сделать самостоятельно, но не получилось . Без дебага было очень сложно уложить в голове саму структуру связного списка и возможные перемещения по списку при операциях добавления, удаления, поиска.
После этого я полез разбирать решения и тут я снова затормозил, т.к написанное решение было непонятно совсем. Разбирая по частям код в разных методах, я столкнулся с тем, что не понимал, какие входные данные и что с ними происходит в методах. Мне было непонятно, как используются входные данные в описании этой задачи на leetcode. Чуть позднее, когда я снова вернулся к задаче, я понял, что значат входные данные. Тут уже стало проще. С помощью idea я продебажил каждый метод и доработал необходимые участки кода. По итогу - задача принята.

Прорешал задачу Palindrome Linked List. За полчаса я написал кривой алгоритм, вспомнив, про то, как можно разворачивать список. А вот то, что при использовании двух указателей можно найти середину списка, этого я не знал. Задачу отложил, потом вернулся спустя пару часов. Разбирать решения на литкод, по прошествию данного времени было уже полегче. По итогу разобрался, написал код. Задача принята.
Временная сложность O(n), пространственная сложность O(1).

Возвращаюсь к решению алгоритмических задач. По плану 2 задачи в неделю. Есть интерес, не буду торопиться.