- 문제 링크: https://leetcode.com/problems/merge-two-sorted-lists/
- 난이도: Easy
오름차순 정렬된 두 링크드리스트를 하나로 합치는 문제다
반환할 리스트의 시작지점 저장해두기 위한 변수를 하나 만들어 두고, 각 리스트 앞에부터 시작해서 작은 값 하나씩 리스트에 추가한다.
만약 둘중 한 리스트가 먼저 맨 뒤에 도달했다면, 그 뒤부터는 순회할 필요 없이 그냥 통째로 붙이면 된다.
class Solution:
def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:
head = curr = ListNode()
while list1 and list2:
if list1.val < list2.val:
curr.next = list1
list1 = list1.next
else:
curr.next = list2
list2 = list2.next
curr = curr.next
# remaining
curr.next = list1 or list2
return head.next
반응형
'Online Judge > LeetCode' 카테고리의 다른 글
[LeetCode][Python] 226. Invert Binary Tree (0) | 2024.09.16 |
---|---|
[LeetCode][Python] 19. Remove Nth Node From End of List (0) | 2024.09.13 |
[LeetCode][Python] 206. Reverse Linked List (0) | 2024.09.10 |
[LeetCode][Python] 567. Permutation in String (0) | 2024.09.10 |
[LeetCode][Python] 424. Longest Repeating Character Replacement (0) | 2024.09.09 |