2. 两数相加

2. 两数相加

2. 两数相加

比较简单的递推

 1 class Solution {
 2     public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
 3         ListNode l3 = new ListNode(),l4=l3;
 4         int tag=0;
 5         while(l1!=null || l2!=null){
 6             int val1 = l1==null ? 0:l1.val;
 7             int val2 = l2==null ? 0:l2.val;
 8             int temp = val1+val2+tag;
 9             tag=temp/10;
10             temp=temp%10;
11             l3.next = new ListNode(temp);
12             l3=l3.next;
13             l1 = l1==null ? null:l1.next;
14             l2 = l2==null ? null:l2.next;
15         }
16         if(tag>0){
17             l3.next = new ListNode(tag);
18             l3=l3.next;
19         }
20         return l4.next;
21     }
22 }