AddTwoNumbers
Published at 2022-02-22
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def addTwoNumbers(self, l1: Optional[ListNode], l2: Optional[ListNode]) -> Optional[ListNode]:
sums = curr = ListNode() # sums의 포인터로 사용하기 위해 curr 만듬
temp = 0 # 올림할 수 저장 위한 변수
while l1 or l2 or temp >= 1: # l1과 l2가 없어도 올려줄 수가 있으면 계속해야함
if l1:
temp += l1.val
l1 = l1.next
if l2:
temp += l2.val
l2 = l2.next
curr.next = ListNode(temp % 10) # 일의자리만
temp //= 10 # 올려줄 수만 남기기
curr = curr.next # 포인터 이동
return sums.next # 맨 처음에 생기는 0 무시하기 위해