2. 两数相加

    科技2022-07-14  124

    LeetCode: 2. 两数相加

    两条链表直接遍历 处理进位

    class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode pre1 = null; ListNode pre2 = null; ListNode head = l1; // 进位 int k = 0; while (l1 != null && l2 != null){ l1.val = l1.val + l2.val + k; k = l1.val / 10; l1.val = l1.val % 10; pre1 = l1; // 后移 l1 = l1.next; l2 = l2.next; } ListNode temp = l1 != null ? l1 : l2; pre1.next = temp; while (temp != null){ temp.val = temp.val + k; if(temp.val >= 10){ k = temp.val / 10; temp.val = temp.val % 10; } else k = 0; pre2 = temp; // 后移 temp = temp.next; } if(k != 0){ // 还有一位 if(pre1.next != null) pre2.next = new ListNode(k); else pre1.next = new ListNode(k); } return head; } }
    Processed: 0.013, SQL: 8