Mobile coding works. A laptop is faster for long sessions.

Problem

A natural number N is read, followed by N integer values. Build a singly linked list containing the values in reading order (the first value is the head, the last is the tail).

Reverse the list by modifying the links (without copying values into an auxiliary array). After reversing, traverse the list and print the values separated by single spaces.

Use a structure Node { int val; Node* next; } with new for allocation. Do not use STL containers.

Input format

Input input.txt

The first line contains `N`. The second line contains the `N` values separated by spaces. - `1 <= N <= 1000`; - values are integers, `-1_000_000 <= val <= 1_000_000`.

Output format

Output output.txt

The program prints on a single line the values of the reversed list, separated by single spaces, followed by a newline.

Example

input
5

10 20 30 40 50
output
50 40 30 20 10

Ready to solve this challenge?

Create a free account to write code, submit solutions, and track your progress.

⌨️ Keyboard Shortcuts

Code Editor
Run Code
Ctrl Enter
Submit Code
Ctrl Shift Enter
Format Code
Shift Alt F
Toggle Comment
Ctrl /
Undo
Ctrl Z
Redo
Ctrl Y
Navigation
Global Search
/
Show Shortcuts
?
Close Modal
Esc

🔍 Interactive Debugger

0 / 0

Analyzing your code...

📦 Variables

No variables yet

📚 Call Stack
main() line 1
📤 Output