328. Odd Even Linked List

kukudas·2022년 3월 14일
0

Algorithm

목록 보기
16/46
# 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]:
    
    	# 빈거 들어오면 그대로 반납해줘야함.
        if not head:
            return head
        
        odd_root = head
        even_root = head.next

        odd, even = head, head.next

        while even and even.next:
            odd.next, even.next = even.next, even.next.next
            
            odd, even = odd.next, even.next                                                                          

        # 짝수 기준으로 다 이동시켰으니 짝수 혹은 짝수 다음이 None이면
        # 끝까지 다 엮은거임
        odd.next = even_root  

        return odd_root

[문제]
https://leetcode.com/problems/odd-even-linked-list/submissions/

0개의 댓글