[리트코드] 2. Add Two Numbers

2024. 7. 10. 15:13PS/리트코드

728x90

문제 링크

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

느낀 점

링크드 리스트의 개념과 구현 방식에 대해서 더 이해할 수 있었음!

from typing import Optional
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]:
        enum = 1
        l1_d = 0
        l2_d = 0
        while l1 is not None:
            l1_d += enum * l1.val
            enum *= 10
            l1 = l1.next
        enum = 1
        while l2 is not None:
            l2_d += enum * l2.val
            enum *= 10
            l2 = l2.next
        l = l1_d + l2_d
        prev = None
        for s in str(l):
            # 8, 0, 7
            node = ListNode(int(s))
            node.next = prev
            prev = node 
        return node

'PS > 리트코드' 카테고리의 다른 글

[리트코드] 739. Daily Temperatures  (0) 2024.07.11
[리트코드] 206. Reverse Linked List  (0) 2024.07.10
[리트코드] 238. Product of Array Except Self  (0) 2024.07.10
[리트코드] 15. 3Sum  (0) 2024.07.04