[LeetCode] Add Two Numbers

KwonSC·2022년 2월 8일
0

LeetCode - Java

목록 보기
2/8
post-thumbnail

https://leetcode.com/problems/add-two-numbers/


Code

class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        int carry = 0;
        ListNode l3 = new ListNode(carry);
        ListNode result = l3;
        while(l1 != null || l2 != null) {
            if (l1 != null) {
                result.val += l1.val;
                l1 = l1.next;
            }
            if (l2 != null) {
                result.val += l2.val;
                l2 = l2.next;
            }
            carry = result.val / 10;
            result.val %= 10;
            if (carry > 0 || l1 != null || l2 != null){
                ListNode next = new ListNode(carry);
                result.next = next;
                result = next;
            }
        }
        return l3;
    }
}

Solution

처음에는 왜 거꾸로 ListNode를 주나 싶었지만 오히려 계산하기 쉽게 되어있음을 알았다. 차근차근 노드를 찾아가며 더하면 해결

0개의 댓글