Я хочу сохранить начальную точку связанного списка на основе узла, т.е. Связанный список реализован с использованием Nodes вместо класса Java, так как я добавляю больше элементов в список и должен идти к следующему узлу, чтобы сделать это.Сохранить начальную точку связанного списка на основе узла
public class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
int c = 0;
ListNode n = new ListNode(0);
ListNode l3 = n; //Node initialised to first node.
while (l1 != null || l2 != null || c != 0)
{
int sum = l1.val + l2.val + c;
c = sum/10;
sum = sum%10;
n = new ListNode(sum);
n = n.next;
l1 = l1.next;
l2 = l2.next;
}
return l3;
}
}
В приведенном выше примере, я использую l3
, чтобы сделать это. Но когда я возвращаю l3
, он устанавливается на последний узел в списке. Как я могу помешать ему перемещаться по списку с помощью n
.
-------- EDIT ----------
Вот вопрос от leetcode для облегчения ведения:
Вы приведены два не -пустые связанные списки, представляющие два неотрицательных целых числа . Цифры хранятся в обратном порядке, и каждый из их узлов содержит одну цифру. Добавьте два числа и верните их как связанный список .
Вы можете предположить, что два числа не содержат никакого начального нуля, кроме самого числа 0.
Входной сигнал: (2 -> 4 -> 3) + (5 -> 6 -> 4) Выход: 7 -> 0 -> 8
Что вы собираетесь делать с этим кодом? – mc20
Это проблема практики из Leetcode. –
, пожалуйста, отправьте ссылку на проблему с leetcode здесь – mc20