1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| 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(); ListNode cur = dummy; int cin = 0; while (l1 != null || l2 != null || cin != 0) { int v1 = l1 != null ? l1.val : 0; int v2 = l2 != null ? l2.val : 0; int sum = v1 + v2 + cin; cin = 0; if (sum >= 10) { sum -= 10; cin = 1; } cur.next = new ListNode(sum); cur = cur.next; l1 = l1 != null ? l1.next : null; l2 = l2 != null ? l2.next : null; } return dummy.next; } }
|