Проблема, которую я пытаюсь решить,-это проблема LeetCode, но я застрял
https://leetcode.com/problems/add-two-numbers/>
Я попробовал следующее < /p>
import java.util.*;
class Solution {
private ListNode l = new ListNode(0);
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
int pow = 0;
int counter = 0;
int sum1 = 0;
int sum2 = 0;
while(l1 != null && l2 != null)
{
sum1 = sum1 + ((int) (l1.val * (Math.pow(10,pow))));
sum2 = sum2 + ((int) (l2.val * (Math.pow(10,pow))));
pow++;
l1 = l1.next;
l2 = l2.next;
}
pow = pow - 1;
int final_sum = sum1 + sum2;
String number = String.valueOf(final_sum);
char[] digits = number.toCharArray();
l = l.next;
ListNode x = new ListNode();
x.val = (digits[2] - '0');
l= x;
addElement(digits[1] - '0');
addElement(digits[0] - '0');
return l;
}
public void addElement(int number)
{
ListNode x = new ListNode();
x.val = number;
l.next = x;
}
}
< /code>
Однако я заметил, что это просто заменяет последнее заданное значение Listnode x и не добавляет в ListNode L. Сначала я пытаюсь заставить его работать с одним экземпляром ListNode без создания нескольких "ListNode x = new ListNode ()" с разными именами переменных. < /p>
На данный момент он просто возвращается [7,8], когда дается [2,4,3] и [5,6,4], когда он должен вернуться [ 7,0,8]. Любые подсказки или советы помогут.
Подробнее здесь: https://stackoverflow.com/questions/611 ... a-listnode