https://leetcode.com/problems/add-two-numbers/
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;
}
}
처음에는 왜 거꾸로 ListNode를 주나 싶었지만 오히려 계산하기 쉽게 되어있음을 알았다. 차근차근 노드를 찾아가며 더하면 해결