HelloCho

[Python] #2. Add Two Numbers(Medium) 본문

코테/LeetCode

[Python] #2. Add Two Numbers(Medium)

choo2969 2020. 8. 29. 13:09

문제 #2. Add Two Numbers

이 문제는 비어있지 않는 linked list 2개가 주어질 때 각각의 자리수에 맡는 element들을 더하고 다시 linked list의 형태로 반환하는 문제이다.

# 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: ListNode, l2: ListNode) -> ListNode:
        l1_ = ''
        l2_ = ''
        while l1 :
            l1_ += str(l1.val)
            l1 = l1.next
        while l2 :
            l2_ += str(l2.val)
            l2 = l2.next
        result = str(int(l1_[::-1]) + int(l2_[::-1]))[::-1]
        l_head = None
        for i in result:
            if not l_head:
                l_head = ListNode(int(i))
                l_ = l_head
            else:
                l_.next = ListNode(int(i))
                l_ = l_.next
        return l_head

이 문제를 해결하기 위해서 l1과 l2 각각의 linked list에서 값을 추출한 후 각각의 값을 더해줘 result 값에 저장했다.

이후 linked list의 값으로 return 하기 위해서 

for문을 이용해서 linked list의 형태로 return 했다. 

결과는 아래와 같다.

 

Comments