'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀
문제 👉 <Add Two Numbers - LeetCode>
1. 문제 (두 수의 덧셈)
역순으로 저장된 연결 리스트의 숫자를 더하라.
2. 풀이
+ 연산
을 이용한 풀이
- 리스트의 합이 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
🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋
'Coding Test > LeetCode' 카테고리의 다른 글
[LeetCode] 21. Merge Two Sorted Lists [Python(파이썬), JAVA(자바)] (0) | 2021.11.23 |
---|---|
[LeetCode] 937. Reorder Log Files [Python(파이썬)] (0) | 2021.11.23 |
[LeetCode] 819. Most Common Word [Python(파이썬)] (0) | 2021.11.23 |
댓글