티스토리 뷰
안녕하세요. 죠쵸입니다.
오늘도 Linked List 관련 문제입니다. LeetCode 38 번 문제인 이번 문제는 난위도 Medium에 해당이 됩니다. 난위도 Medium 문제 중에서 비교적 쉬운 문제인 것 같습니다. 시간이 되시면 같이 한번 풀어 보아요~. 단기적인 목표는 LeetCode 100 문제를 풀어보면서 블로그에 포스팅하는 것입니다. 가능하면 하루에 한개 풀어보려고 하고 있는데, 생각만큼은 되지 않지만, 멈추지 않고 계속해 보려고 합니다. 비록 문제를 풀면서, 저뿐만 아니라, 함께 해 주시는 여러분에게도 도움이 되길 바랩니다.
#LeetCode 328. Odd Even Linked List(Description)
LeetCode 328번 문제는 Linked List를 입력 받아서, 홀수 번째 Node는 앞쪽으로 순차적으로 연결하고, 짝수 번째 Node의 경우 홀수 Node의 뒤에 이어서 순차적으로 연결하여 해당 Linked List를 반환하는 것입니다. 비교적 문제 자체가 직관적이지 만, 아래의 그림을 보면 더 이해하기 쉬울 것 같습니다. 제약 사항으로 O(1) 공간복잡도와 O(Nodes)의 시간복잡도 내에서 풀이 해야합니다.
#LeetCode 328. Odd Even Linked List(Solution)
문제의 풀이 방법은 홀수번째 Node 만 계속 연결하고, 짝수번째 Node는 따로 연결하는 것을 반복하고, 최종 홀수 Node의 마지막 Node의 Next에 짝수 Node의 시작 Node를 지정하고 홀수 Node의 시작 Node를 반환하였습니다. Linked List에 대한 기본 개념을 알고 있다면, 문제 자체가 복잡하지 않아서, 코드도 비교적 간단 합니다. 아래의 코드를 참조 부탁 드립니다.
# Definition for singly-linked list.
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def __print_all__(self):
while self:
print(self.val, end=' ')
self = self.next
class Solution:
def oddEvenList(self, head: ListNode) -> ListNode:
if not head or not head.next:
return head
odd_head = odd_cur = head
even_head = even_cur = head.next
while odd_cur.next and even_cur.next:
odd_cur.next = even_cur.next
odd_cur = odd_cur.next
even_cur.next = odd_cur.next
even_cur = even_cur.next
odd_cur.next = even_head
return odd_head
방문해 주셔서 감사합니다. 여러분의 공감하기(♥), 댓글과 구독은 저에게 힘이 됩니다.
이상으로 죠쵸였습니다.
'Programming > LeetCode' 카테고리의 다른 글
LeetCode 225. Implement Stack using Queues (Python3) (10) | 2021.01.10 |
---|---|
LeetCode 24. Swap Nodes in Pairs (Python3) (0) | 2020.11.17 |
LeetCode 2. Add Two Numbers (Python3) (0) | 2020.11.09 |
LeetCode 206. Reverse Linked List (Python3) (0) | 2020.11.09 |
LeetCode 21. Merge Two Sorted Lists (Python3) (4) | 2020.11.08 |
- Total
- Today
- Yesterday
- 리트코드
- 티파니T1
- Machine Learning
- 재귀함수
- ap news
- Kaggle
- 영어공부
- 데이터 분석
- kule
- 파이썬 기초
- 큘가방
- Big Data
- Leetcode
- 328. Odd Even Linked List
- joecho
- 리바이스사이즈
- 판다스
- Study
- 파이썬 독학
- 파이썬
- AdSense
- ai
- Pandas(판다스)
- pandas
- Leetcode255
- English
- python
- 아디다스삼바화이트
- 캐글
- 죠쵸
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |