Problem title
Difficulty
Avg time to solve

Flatten The Multi-Level Linked List
Moderate
10 mins
Evaluation of postfix expression
Easy
15 mins
Partition to K equal sum subsets
Moderate
40 mins
Minimum Falling Path Sum
Moderate
25 mins
Diagonal Traversal
Moderate
20 mins
Count distinct Bitwise OR of all subarrays
Easy
10 mins
Star Pattern
Easy
10 mins
First Unique Character In A String
Moderate
15 mins
Remove Duplicates
Easy
15 mins
K-th largest Number BST
Easy
10 mins
10

Swap Nodes in Pairs

Difficulty: MEDIUM
Contributed By
Avg. time to solve
40 min
Success Rate
60%

Problem Statement

You are given a singly linked list of integers.

Your task is to swap every two adjacent nodes, and return the head of the modified, linked list.

For Example:

We have a linked list 1->2->3->4->5->6->7 and so on. You are supposed to swap pairs of a linked list like swap (1,2), (3,4), (5,6), and so on.
Note:
1. You may not modify the data in the list’s nodes; only nodes themselves may be changed. Because imagine a case where a node contains many fields, so there will be too much unnecessary swap.

2. If a pair of a node does not exist, then leave the node as it is.
Input format :
The input contains the elements of the singly linked list separated by a single space and terminated by -1. Hence, -1 would never be a list element.
Output format :
For each input, print a single line containing the same number of integers as in the list, in swapped order.
Note :
You do not need to print anything, it has already been taken care of just implement the given function.
Constraints :
0 <= N <= 5 * 10 ^ 5
-10 ^ 9 <= DATA <= 10 ^ 9 and DATA != -1

Where ‘N’ is the length of the linked list and 'DATA' is data in each node.

Time limit: 1 sec.
Sample Input 1:
11 21 13 14 15 -1
Sample Output 1:
21 11 14 13 15 -1
Explanation of the Sample Input1:
Swap 11 with 21 then swap 13 with 14 and 15 has no pair so leave that node as it is.
Sample Input 2:
-13 14 -21 18 -20 30 -1
Sample Output 2:
14 -13 18 -21 30 -20 -1
Explanation of the Sample Input 2:
Swap -13 with 14 then swap -21 with 18 and then swap -20 to with 30.
Reset Code
Full screen
copy-code
Console