본문 바로가기

LeetCode/Linked List

[Medium] 2. Add Two Numbers

Leetcode 2번 문제는 순서가 거꾸로 된 2개의 연결 리스트를 더하는 문제이다. 연결 리스트의 각 노드 들은 한자리 숫자 만을 가지고 있다. 

public class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
    
        ListNode sentinel = new ListNode(0);
        ListNode current = sentinel;
        int sum = 0;
        while (l1 != null || l2 != null) {
            sum /= 10;
            if (l1 != null) {
                sum += l1.val;
                l1 = l1.next;
            }
            if (l2 != null) {
                sum += l2.val;
                l2 = l2.next;
            }
            current.next = new ListNode(sum % 10);
            current = current.next;
        }
        if (sum / 10 == 1)
            current.next = new ListNode(1);
        return sentinel.next;
    }
}

'LeetCode > Linked List' 카테고리의 다른 글

[Easy] 21. Merge Two Sorted Lists  (0) 2022.11.15
[Medium] 142. Linked List Cycle II  (0) 2022.09.02
[Easy] 141. Linked List Cycle  (0) 2022.08.29
[Easy] 206. Reverse Linked List  (0) 2022.08.28
[Easy] 234. Palindrome Linked List  (0) 2022.08.24