미소를뿌리는감자의 코딩
[leetcode 2024/02/13] 328. Odd Even Linked List 본문
728x90
https://leetcode.com/problems/odd-even-linked-list/description/
1. 접근 방법
node를 하나씩 읽어가면서, left_node, right_node에 번갈아가면서 노드를 저장하였다.
이후 선언해 놓은 right_node의 head를 left_node의 끝과 연결해 주었다.
++ 노드를 하나씩 생성해가면서 값을 저장하는 것보다, 원래 있던 노드에서 .next의 방향을 바꾸는 것이 속도적인 측면에서 나을 것 같다.
2. 코드
# 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]:
left_node = ListNode(0)
head1 = left_node
right_node = ListNode(0)
head2 = right_node
while head:
left_node.next = ListNode(head.val)
left_node = left_node.next
head = head.next
if not head:
break
right_node.next = ListNode(head.val)
right_node = right_node.next
head = head.next
left_node.next = head2.next
return head1.next
728x90
'코딩 테스트 > leetcode' 카테고리의 다른 글
[leetcode 2024/02/15] 46. Permutations (1) | 2024.02.15 |
---|---|
[leetcode 2024/02/15] 17. Letter Combinations of a Phone Number (1) | 2024.02.15 |
[leetcode 2024/02/13] 21. Merge Two Sorted Lists (0) | 2024.02.13 |
[leetcode 2024/02/13] 206. Reverse Linked List (0) | 2024.02.13 |
[leetcode 2024/02/08] 215. Kth Largest Element in an Array (0) | 2024.02.08 |