Skip to content
    SeaCode
    Learning tracksCode ArenaWorkshops & EventsInstructors
    Log inSign up
    Practice problems / Reorder a list front and back

    Reorder a list front and back

    Mediumlinked listtwo pointersfast and slow pointers

    The list is L0 → L1 → … → Ln. Reorder it to L0 → Ln → L1 → Ln-1 → L2 → … by moving nodes (not changing values), and return its head.

    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]

    Constraints

    • 1 ≤ number of nodes ≤ 5·10⁴
    • 1 ≤ Node.val ≤ 1000

    Submit checks your solution against 8 tests, including hidden ones.

    // Provided by the judge: keep these definitions
    class ListNode {
      constructor(val = 0, next = null) {
        this.val = val
        this.next = next
      }
    }
    
    /**
     * @param {ListNode|null} head
     * @return {ListNode|null}
     */
    function reorderList(head) {
      
    }
    
    Sign in to run
    SeaCode

    Learn to code for real, online or at our branch in front of Cairo University, Giza.

    Learn

    • All courses
    • Interactive tutorials
    • Interview practice problems
    • Mock interview
    • Learning tracks
    • Code Arena
    • Workshops & Events
    • Knowledge library
    • Team projects

    Your account

    • Log in
    • Sign up
    • Learning plan
    • Certificates
    • Site map

    Contact us

    • WhatsApp
    • 010 9094 1104
    • In front of Cairo University, Giza

    © 2026 SeaCode. All rights reserved.