Skip to content
Related Articles
Open in App
Not now

Related Articles

Data Structures | Linked List | Question 8

Improve Article
Save Article
Like Article
  • Difficulty Level : Hard
  • Last Updated : 28 Jun, 2021
Improve Article
Save Article
Like Article

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? 


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









Answer: (B)


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

My Personal Notes arrow_drop_up
Like Article
Save Article
Related Articles

Start Your Coding Journey Now!