Open In App

Data Structures | Linked List | Question 8

Like Article
Like
Save Article
Save
Share
Report issue
Report

The following  function takes a single-linked list of integers as a parameter and rearranges the elements of the list. The function is called with the list containing the integers 1, 2, 3, 4, 5, 6, 7 in the given order. What will be the contents of the list after the function completes execution? 

Java




class Node {
    int value;
    Node next;
}
 
void rearrange(Node list) {
    Node p, q;
    int temp;
    if (list == null || list.next == null) {
        return;
    }
    p = list;
    q = list.next;
    while (q != null) {
        temp = p.value;
        p.value = q.value;
        q.value = temp;
        p = q.next;
        q = p != null ? p.next : null;
    }
}


(A)

1,2,3,4,5,6,7

(B)

2,1,4,3,6,5,7

(C)

1,3,2,5,4,7,6

(D)

2,3,4,5,6,7,1


Answer: (B)

Explanation:

The function rearrange() exchanges data of every node with its next node. It starts exchanging data from the first node itself.
For eg. 3,5,7,9,11
answer:- 5,3,9,7,11


Quiz of this Question
Please comment below if you find anything wrong in the above post


Last Updated : 28 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads