일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 헤드라인기사
- 오늘의뉴스
- 20200816뉴스
- 20201013뉴스
- 20201018뉴스
- 경제뉴스
- 기사
- 헤드라인모음
- 헤드라인뉴스
- C++
- 크롤링
- 백준
- json
- 뉴스헤드라인
- 코테
- encoding
- Python
- 20201011뉴스
- 기사헤드라인
- 백준2225
- MySQL
- 파이썬
- 뉴스
- 알고리즘
- 20201017뉴스
- 20201015뉴스
- 헤드라인
- 20200615뉴스
- LeetCode #Python #알고리즘 #코딩테스트 #interview
- 20201016뉴스
Archives
- Today
- Total
HelloCho
[Python] #21. Merge Two Sorted Lists(Easy) 본문
문제
이 문제는 두 개의 정렬된 Linked List가 주어질 때, 두 Linked List를 합쳐 정렬된 Linked List로 return 하는 문제이다.
단순하게 두개의 Linked list의 값을 하나씩 비교하며 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 mergeTwoLists(self, l1,l2):
l3 = None
l3_ = None
while l1 and l2:
n = None
if l1.val < l2.val:
n = l1
l1 = l1.next
else:
n = l2
l2 = l2.next
if l3_ == None:
l3_ = ListNode(n.val)
l3 = l3_
else:
l3_.next = ListNode(n.val)
l3_ =l3_.next
if l1 :
if l3_:
l3_.next = l1
else:
l3 = l1
else:
if l3_:
l3_.next = l2
else:
l3 = l2
return l3
while 문을 통해 l1과 l2 두 개의 Linked list의 값이 존재할 때 반복을 한다.
if 문을 통해서 값을 비교해서 값을 넣어줬다.
while문이 끝난 이후에 혹시 남아있는 Linked list가 있을 수 있으니 나머지 값들을 추가해줬다. (sorted linked list라 편하게 남은 값을 추가해주면 된다)
결과는 아래와 같다.
속도는 44ms, 메모리는 13.7mb로 통과했다!
'코테 > LeetCode' 카테고리의 다른 글
[Python] #27. Remove Element(Easy) (0) | 2020.09.06 |
---|---|
[Python] #26. Remove Duplicates from Sorted Array(Easy) (0) | 2020.09.06 |
[Python] #20. Valid Parentheses(Easy) (0) | 2020.09.06 |
[Python] #4. Median of Two Sorted Arrays(Hard) (0) | 2020.09.06 |
[Python] #2. Add Two Numbers(Medium) (0) | 2020.08.29 |
Comments