DSA SectionEasy

Fold Linked List

Detailed guide and Python implementation for the 'Fold Linked List' problem.

Problem Statement

Easy

Write a function fold_list(arr) that represents a singly linked list as a Python list arr and returns the folded list. Folding a list L0 -> L1 -> ... -> Ln-1 -> Ln results in L0 -> Ln -> L1 -> Ln-1 -> L2 -> Ln-2 ....

Constraints
  • 0 <= len(arr) <= 1000
  • -1000 <= arr[i] <= 1000

Examples

Example 1
Input
arr = [1, 2, 3, 4, 5]
Output
[1, 5, 2, 4, 3]
Explanation

The nodes are reordered by interleaving the first, last, second, second-to-last nodes, etc.

Example 2
Input
arr = [1, 2, 3, 4]
Output
[1, 4, 2, 3]
Need a Hint?
Consider using Linked Lists-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor

Recommended Python Resources

Expand your knowledge with related interactive tutorials, cheat sheets, and code comparisons.