My java Solution


  • 0
    Z
    public class Solution {
        public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
            if (l1 == null)
                return l2;
            if (l2 == null)
                return l1;
    
            int value = (l1.val + l2.val) % 10;
            int carry = (l1.val + l2.val) / 10;
            ListNode head = new ListNode(value);
            ListNode tail = head;
            l1 = l1.next;
            l2 = l2.next;
            while (!(l1 == null && l2 == null && carry == 0)) {
                int temValue = carry;
                if (l1 != null) {
                    temValue += l1.val;
                }
                if (l2 != null) {
                    temValue += l2.val;
                }
                value = (temValue) % 10;
                carry = (temValue) / 10;
                ListNode node = new ListNode(value);
                tail.next = node;
                tail = node;
    
                if (l1 != null) {
                    l1 = l1.next;
                }
                if (l2 != null) {
                    l2 = l2.next;
                }
            }
    
            return head;
        }
    }

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.