
이때, 캐리발생시 전파해주는 매개변수로 전파를 해준다!
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution(object):
def addTwoNumbers(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
nowl1 = l1
nowl2 = l2
rt = ListNode()
rtn = rt
plus = 0
while nowl1 is not None and nowl2 is not None :
sumval = nowl1.val + nowl2.val + plus
if sumval > 9 :
plus = 1
sumval = sumval - 10
else :
plus = 0
rtn.val = sumval
nowl1 = nowl1.next
nowl2 = nowl2.next
if nowl1 is None or nowl2 is None :
break
rtn2 = ListNode(0)
rtn.next = rtn2
rtn = rtn2
if nowl1 is not None or nowl2 is not None :
not_lost = None
if nowl1 is None :
not_lost = nowl2
else :
not_lost = nowl1
while not_lost is not None :
sums = not_lost.val + plus
if sums > 9 :
plus = 1
sums = sums - 10
else :
plus = 0
new_node = ListNode(sums)
rtn.next = new_node
rtn = new_node
not_lost = not_lost.next
if plus != 0 :
rtn.next = ListNode(1)
return rt
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution(object):
def addTwoNumbers(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
nowl1 = l1
nowl2 = l2
rt = ListNode()
rtn = rt
plus = 0
while nowl1 or nowl2 :
sumval = (nowl1.val if nowl1 else 0 )+ (nowl2.val if nowl2 else 0) + plus
plus = sumval // 10
sumval = sumval % 10
rtn.val = sumval
if nowl1 :
nowl1 = nowl1.next
if nowl2 :
nowl2 = nowl2.next
if nowl1 is None and nowl2 is None :
break
rtn2 = ListNode(0)
rtn.next = rtn2
rtn = rtn2
if plus != 0 :
rtn.next = ListNode(1)
return rt