문제
단일 연결 리스트 의 경우 head, 홀수 인덱스를 가진 모든 노드를 그룹화한 다음 짝수 인덱스를 가진 노드를 그룹화하고 재정렬된 리스트를 반환합니다 .
첫 번째 노드는 홀수로 간주되고 두 번째 노드는 짝수로 간주됩니다.
짝수 그룹과 홀수 그룹 내부의 상대적 순서는 입력과 동일하게 유지되어야 합니다.
O(1) 추가 공간 복잡도와 O(n)시간 복잡도 문제를 해결해야 합니다 .
예시 1:
입력: 헤드 = [1,2,3,4,5]
출력: [1,3,5,2,4]
예시 2:
입력: 헤드 = [2,1,3,5,6,4,7]
출력: [2,3,6,7,1,5,4]
제약:
- 연결된 목록의 노드 수는 범위 내에 있습니다 .[0, 104]
- -106 <= Node.val <= 106
코드
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode oddEvenList(ListNode head) {
if(head == null) return head;
ListNode odd = head;
ListNode even = head.next;
ListNode evenHead = even;
while(odd.next != null && even.next != null){
odd.next = odd.next.next;
even.next = even.next.next;
odd = odd.next;
even = even.next;
}
odd.next = evenHead;
return head;
}
}
'코테 > 자료구조' 카테고리의 다른 글
[leetcode 345. Reverse Vowels of a String] - 스택, StringBuilder (0) | 2024.03.21 |
---|---|
[2023 KAKAO 개인정보 수집 유효기간] - HashMap, List, Array (1) | 2024.02.08 |
[leetcode 20. Valid Parentheses 유효한 괄호] - Stack (0) | 2024.02.08 |
[leetCode 2352. Equal Row and Column Pairs, 동일한 행과 열 쌍] - HashMap (1) | 2024.02.08 |
[ Heap / 힙 ] - 이중우선순위큐(우선순위 큐) (0) | 2023.12.21 |