-
leeCode -Add Two Numbers(LinkedList)프로그래밍/algorithm 2021. 7. 14. 10:54
문제
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 contains a single digit. Add the two numbers and return the sum as a linked list.
You may assume the two numbers do not contain any leading zero, except the number 0 itself.
Example 1:
Input: l1 = [2,4,3], l2 = [5,6,4] Output: [7,0,8] Explanation: 342 + 465 = 807.
풀이
const addTwoNumbers = function (l1, l2) { let pointer1 = l1; let pointer2 = l2; let head = new ListNode(); let headPointer = head; let carry = 0; while (pointer1 || pointer2) { let val1 = pointer1 ? pointer1.val : 0; let val2 = pointer2 ? pointer2.val : 0; let nodeSum = carry + val1 + val2 if (nodeSum > 9) { carry = 1; } else { carry = 0; } headPointer.next = new ListNode(nodeSum % 10); headPointer = headPointer.next; pointer1 = pointer1 ? pointer1.next : null; pointer2 = pointer2 ? pointer2.next : null; } if (carry) { headPointer.next = new ListNode(carry); } return head.next; };
'프로그래밍 > algorithm' 카테고리의 다른 글
leetCode-Median of Two Sorted Arrays(binary search) (0) 2021.07.15 leetCode - Longest Substring Without Repeating Characters(LinkedList) (0) 2021.07.14 leetCode - Reverse Linked List(LinkedList) (0) 2021.07.07 leetCode (Remove Linked List Elements)-LinkedList (0) 2021.07.06 leetCode - Intersection of Two Linked Lists (LinkedList) (0) 2021.07.06