# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def oddEvenList(self, head: Optional[ListNode]) -> Optional[ListNode]:
# 노드가 2개 까지는 그대로 반환
if not head or not head.next or not head.next.next:
return head
odd = current = head # 홀수
even = even_head = head.next # 짝수
i = 1
while current:
if i>2 and i % 2 == 1: # 홀수
odd.next = current
odd = odd.next
elif i>2 and i % 2 == 0: # 짝수번째
even.next = current
even = even.next
current = current.next
i +=1
odd.next = even_head
even.next = None
return head
https://youtu.be/LCQb5dOScFM?si=bQLSKYOH2QP45P2p
'LeetCode > LeetCode75' 카테고리의 다른 글
[LeetCode 75] Medium - 2130. Maximum Twin Sum of a Linked List (0) | 2024.11.15 |
---|---|
[LeetCode 75] Easy - 206. Reverse Linked List (0) | 2024.11.15 |
[LeetCode 75] Medium - 2095. Delete the Middle Node of a Linked List (0) | 2024.11.15 |
[LeetCode 75] Medium - 649. Dota2 Senate (0) | 2024.11.14 |
[LeetCode 75] Easy - 933. Number of Recent Calls (0) | 2024.11.14 |