⭐️⭐️⭐️

# 題目敘述

You are given the head of a singly linked-list. The list can be represented as:

L0 → L1 → … → Ln - 1 → Ln

Reorder the list to be on the following form:

L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …

You may not modify the values in the list's nodes. Only nodes themselves may be changed.

# Example 1

Input: head = [1,2,3,4]
Output: [1,4,2,3]

# Example 2

Input: head = [1,2,3,4,5]
Output: [1,5,2,4,3]

ListNode 的 class 內容

ListNode
// 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; }
}

# 解題思路

# Solution

import java.util.ArrayDeque;
import java.util.Deque;
class Solution {
    public void reorderList(ListNode head) {
        Deque<Integer> deque = new ArrayDeque<>();
        ListNode current = head;
        while (current != null) {
            deque.addLast(current.val);
            current = current.next;
        }
        current = head;
        while (current != null) {
            current.val = deque.pollFirst();
            current = current.next;
            if (current != null) {
                current.val = deque.pollLast();
                current = current.next;
            }
        }
    }
}


單字

** **
!! !!

片語 & 搭配詞

!! !!