Reverse Alternate Nodes in a Singly Linked List

Given a singly linked list of integers, you need to reverse alternate nodes and append them to the end of the list.

Example:

Input:
1->2->3->4
Output:
1->3->4->2
Explanation:

Assuming 0-based indexing, odd-indexed nodes are considered alternate. In this case, nodes with values 2 and 4 are alternates. Separate them: 1->3 (without alternates) and 2->4 (alternates). Reverse alternates: 4->2. Append reversed alternates to the end: 1->3->4->2.

Input:

The first and only line contains elements of the singly linked list separated by spaces, terminated by -1. (-1 is not a list element.)

Output:

For each test case, output is a space-separated list of integers representing the resultant linked list, ending with -1.

Constraints:

  • 0 <= N <= 10^6
  • -10^9 <= DATA <= 10^9 and DATA != -1

Where N is the number of nodes in the linked list.

Time Limit: 1 second.

Note:

You are not required to print anything; just implement the function as specified.

AnswerBot
2d

Reverse alternate nodes in a singly linked list and append them to the end of the list.

  • Traverse the linked list and reverse alternate nodes while keeping track of odd and even indices.

  • Append the rever...read more

Help your peers!
Add answer anonymously...
TCS iON Software Developer Intern Interview Questions
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2024 Info Edge (India) Ltd.

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter