2. Add Two Numbers(2个链表相加)

 


You are given two non-empty linked lists representing two non-negative integers. 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.

You may assume the two numbers do not contain any leading zero, except the number 0 itself.

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8

20180223

 1 class Solution {
 2     public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
 3         ListNode fakehead = new ListNode(0);
 4         ListNode prev = fakehead;
 5         int carry = 0;
 6         for(ListNode p1=l1, p2 = l2;
 7            p1!=null || p2!=null;
 8            p1=(p1==null?null:p1.next),p2=(p2==null?null:p2.next)
 9            ){
10                int p1val = p1==null?0:p1.val;
11                int p2val = p2==null?0:p2.val;
12                int val = p1val+p2val+carry;
13                carry = val/10;
14                val = val%10;
15                ListNode temp = new ListNode(val);
16                prev.next = temp;
17                prev = prev.next;
18            }
19             if(carry>0)
20                 prev.next = new ListNode(carry);
21             return fakehead.next;            
22     }  
23 }
 1 class Solution {
 2     public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
 3        // ListNode cur =new ListNode(0);
 4         ListNode prev= new ListNode(0);
 5         ListNode head = prev;
 6         int pval;
 7         int jinwei=0;
 8         while(l1!=null ||l2!=null || jinwei!= 0 ){
 9             pval  = ((l2 == null) ? 0 : l2.val) + ((l1 == null) ? 0 : l1.val) + jinwei;
10             if(pval>9) {   jinwei =1;pval=pval-10;    }
11             else jinwei=0;
12             ListNode cur = new ListNode(pval);
13             prev.next =cur;
14             prev = cur;
15             l1 = (l1 == null) ? l1 : l1.next;
16             l2 = (l2 == null) ? l2 : l2.next;
17 
18         }
19         return head.next;
20 
21     }
22     
23 }
 
原文地址:https://www.cnblogs.com/zle1992/p/7707212.html