37 lines
848 B
Java
37 lines
848 B
Java
/**
|
|
* Definition for singly-linked list.
|
|
* public class ListNode {
|
|
* int val;
|
|
* ListNode next;
|
|
* ListNode() {}
|
|
* ListNode(int val) { this.val = val; }
|
|
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
|
|
* }
|
|
*/
|
|
class Solution {
|
|
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
|
|
ListNode dummy = new ListNode();
|
|
var cur = dummy;
|
|
|
|
int carry = 0;
|
|
|
|
while (carry != 0 || l1 != null || l2 != null) {
|
|
int v1 = (l1 != null) ? l1.val : 0;
|
|
int v2 = (l2 != null) ? l2.val : 0;
|
|
|
|
int val = v1 + v2 + carry;
|
|
carry = val / 10;
|
|
val = val % 10;
|
|
|
|
cur.next = new ListNode(val);
|
|
|
|
cur = cur.next;
|
|
|
|
l1 = (l1 != null) ? l1.next : null;
|
|
l2 = (l2 != null) ? l2.next : null;
|
|
}
|
|
|
|
return dummy.next;
|
|
}
|
|
}
|