  Learn Tech Skills from Scratch @ Scaler EDGE # Reverse Alternate K Nodes

Problem Description

Given a linked list A of length N and an integer B.

You need to reverse every alternate B nodes in the linked list A.

Problem Constraints
• 1 <= N <= 105
• 1<= Value in Each Link List Node <= 103
• 1 <= B <= N
• N is divisible by B

Input Format

Second argument is an integer B.

Output Format

Example Input

Input 1:

``` A = 3 -> 4 -> 7 -> 5 -> 6 -> 6 -> 15 -> 61 -> 16
B = 3
```

Input 2:

``` A = 1 -> 4 -> 6 -> 6 -> 4 -> 10
B = 2
```

Example Output

Output 1:

``` 7 -> 4 -> 3 -> 5 -> 6 -> 6 -> 16 -> 61 -> 15
```

Output 2:

``` 4 -> 1 -> 6 -> 6 -> 10 -> 4
```

Example Explanation

Explanation 1:

``` The linked list contains 9 nodes and we need to reverse alternate 3 nodes.
First sublist of length 3  is 3 -> 4 -> 7 so on reversing it we get 7 -> 4 -> 3.
Second sublist of length 3 is 5 -> 6 -> 6 we don't need to reverse it.
Third sublist of length 3 is 15 -> 61 -> 16 so on reversing it we get 16 -> 61 -> 15.
```

Explanation 2:

``` The linked list contains 6 nodes and we need to reverse alternate 2 nodes.
First sublist of length 2 is 1 -> 4 so on reversing it we get 4 -> 1.
Second sublist of length 2 is 6 -> 6 we don't need to reverse it.
Third sublist of length 2 is 4 -> 10 so on reversing it we get 10 -> 4.
```

NOTE: You only need to implement the given function. Do not read input, instead use the arguments to the function. Do not print the output, instead return values as specified. Still have a doubt? Checkout Sample Codes for more details. Hints
• Hint 1
• Solution Approach
• Complete Solution