标签:
Add Two Numbers
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Solution:
Use Linklist store val and pointer ! should pay attation to temp variable sentinel and d . especially return value .
1 public static ListNode addTwoNumbers(ListNode l1, ListNode l2) {
2 int sum = 0;
3 ListNode sentinel = new ListNode(0);
4 ListNode d = sentinel;
5 while (l1 != null || l2 != null) {
6 sum /= 10;
7 if (l1 != null) {
8 sum += l1.val;
9 l1 = l1.next;
10 }
11 if (l2 != null) {
12 sum += l2.val;
13 l2 = l2.next;
14 }
15
16 d.next = new ListNode(sum % 10);
17 d = d.next;
18
19 if(sum % 10 == 1)
20 d.next = new ListNode(1);
21 }
22 return sentinel.next;
23 }
标签:
原文地址:http://www.cnblogs.com/luochuanghero/p/4236519.html