leetcode2:Add Two Numbers

Add Two Numbers

Total Accepted: 55216 Total Submissions: 249950My Submissions
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

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
       ListNode newLink= new ListNode(0);
       ListNode current=newLink;
       int carry =0;
      while (l1 != null || l2 != null) {
        int a1 = (l1 == null) ? 0 : l1.val;
        int a2 = (l2 == null) ? 0 : l2.val;
        int sum = a1 + a2 + carry;
        carry = sum / 10;
        current.next = new ListNode(sum % 10);
        l1 = (l1 == null) ? null : l1.next;
        l2 = (l2 == null) ? null : l2.next;
        current = current.next;
    }
    if (carry > 0) {
      current.next = new ListNode(carry);
    }
       return newLink.next;
       
    }
}
------------------------------------------------------------------------------------------------------------------------------本娃的学习日记@lily园
原文地址:https://www.cnblogs.com/yanglicyfsdm/p/4710357.html