вот смотрите: в 13 строчке мы должны добавить к узлу новое значение, и делается это вот так: tail.next=list2, по логике вещей, должен присвоиться весь список, а добавляется онли значение (насколько я понимаю, если присваивать значение, то это должно выглядеть так: tail.next=list2.val, но так не работает), но это же правило не работает в строчке 21, когда мы в конец присваиваем остаток списка таким же способом. Пожалуйста, объясните недалекому(мне) этот момент
Строка 21: Да, в строке 21 мы добавляем весь оставшийся список (list1 или list2) к нашему сформированному списку. Поскольку один из списков уже полностью пройден, мы просто прикрепляем остаток другого списка к текущему концу объединенного списка (tail). Поскольку список уже упорядочен, нет необходимости проходить по каждому его узлу - мы просто устанавливаем ссылку. Строка 13: Здесь мы выбираем меньший узел из двух списков (либо из list1, либо из list2) и добавляем его к объединенному списку. Важный момент заключается в том, что после добавления узла, мы продвигаемся дальше по списку, из которого был взят этот узел (перемещаем list1 или list2 на следующий узел). Таким образом, мы не добавляем весь остаток списка сразу, а лишь один узел из него. После этого, мы перемещаем tail на tail.next, чтобы в следующей итерации добавлять узлы уже к следующему элементу объединенного списка. Таким образом в результате, мы получается добавим как бы одну ноду. Таким образом, в обоих случаях происходит добавление узлов, но в строчке 13 мы добавляем один узел и продвигаемся дальше по списку, из которого этот узел был взят, тогда как в строчке 21 мы добавляем оставшуюся часть списка целиком.
tail.next = list2.val нельзя использовать потому что tail.next должен ссылаться на узел (объект ListNode), а не на отдельное значение (например, число). В связанных списках каждый узел (ListNode) содержит два элемента: val (значение узла) и next (ссылку на следующий узел в списке). Когда вы присваиваете tail.next = list2, вы устанавливаете ссылку на следующий узел. Если же вы попытаетесь сделать tail.next = list2.val, то это попытка установить ссылку на простое число или значение, что нарушает структуру связанного списка.
Как всегда легенда
вот смотрите: в 13 строчке мы должны добавить к узлу новое значение, и делается это вот так: tail.next=list2, по логике вещей, должен присвоиться весь список, а добавляется онли значение (насколько я понимаю, если присваивать значение, то это должно выглядеть так: tail.next=list2.val, но так не работает), но это же правило не работает в строчке 21, когда мы в конец присваиваем остаток списка таким же способом. Пожалуйста, объясните недалекому(мне) этот момент
Строка 21: Да, в строке 21 мы добавляем весь оставшийся список (list1 или list2) к нашему сформированному списку. Поскольку один из списков уже полностью пройден, мы просто прикрепляем остаток другого списка к текущему концу объединенного списка (tail). Поскольку список уже упорядочен, нет необходимости проходить по каждому его узлу - мы просто устанавливаем ссылку.
Строка 13: Здесь мы выбираем меньший узел из двух списков (либо из list1, либо из list2) и добавляем его к объединенному списку. Важный момент заключается в том, что после добавления узла, мы продвигаемся дальше по списку, из которого был взят этот узел (перемещаем list1 или list2 на следующий узел). Таким образом, мы не добавляем весь остаток списка сразу, а лишь один узел из него. После этого, мы перемещаем tail на tail.next, чтобы в следующей итерации добавлять узлы уже к следующему элементу объединенного списка. Таким образом в результате, мы получается добавим как бы одну ноду.
Таким образом, в обоих случаях происходит добавление узлов, но в строчке 13 мы добавляем один узел и продвигаемся дальше по списку, из которого этот узел был взят, тогда как в строчке 21 мы добавляем оставшуюся часть списка целиком.
tail.next = list2.val нельзя использовать потому что tail.next должен ссылаться на узел (объект ListNode), а не на отдельное значение (например, число). В связанных списках каждый узел (ListNode) содержит два элемента: val (значение узла) и next (ссылку на следующий узел в списке). Когда вы присваиваете tail.next = list2, вы устанавливаете ссылку на следующий узел. Если же вы попытаетесь сделать tail.next = list2.val, то это попытка установить ссылку на простое число или значение, что нарушает структуру связанного списка.
музыка сегодня то что надо👍
А видео по покеру будет?
Если этот видос соберёт 1к лайков, открываю курс по покеру закрытый
Нахера эта музыка?!
Чтобы веселее было задачи решать