본문 바로가기
Coding Test/LeetCode

[LeetCode] 2. Add Two Numbers [Python(파이썬)]

'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀

문제 👉 <Add Two Numbers - LeetCode>

1. 문제 (두 수의 덧셈)

역순으로 저장된 연결 리스트의 숫자를 더하라.

2. 풀이

  • + 연산을 이용한 풀이
  1. 리스트의 합이 10이 넘을 경우 다음 리스트의 연산에서 해당 값을 더한다.

3. 코드

  • +연산을 이용한 풀이
# 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:
        ret = head = ListNode(0)
        carry = 0
        while l1 or l2 or carry:
            a, b = 0, 0
            if l1:
                a, l1 = l1.val, l1.next    
            if l2:
                b, l2 = l2.val, l2.next

            carry, val = divmod(a + b + carry, 10)
            ret.next = ListNode(val)
            ret = ret.next

        return head.next
  • 결과 :
방식 Status Runtime Memory Language
+ 연산 [Accepted] 64 ms 14.4 MB python3


References


🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋

댓글