Bird
Raised Fist0
DSA Javaprogramming~10 mins

Traversal and Printing a Linked List in DSA Java - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to move to the next node in the linked list.

DSA Java
current = current[1];
Drag options to blanks, or click blank then click option'
A.next
B.prev
C.head
D.tail
Attempts:
3 left
💡 Hint
Common Mistakes
Using .prev instead of .next
Using .head or .tail which are not pointers for traversal
2fill in blank
medium

Complete the code to print the data of the current node.

DSA Java
System.out.println(current[1]);
Drag options to blanks, or click blank then click option'
A.next
B.prev
C.data
D.head
Attempts:
3 left
💡 Hint
Common Mistakes
Printing .next or .prev which are pointers, not data
Trying to print .head which is not part of the node
3fill in blank
hard

Fix the error in the loop condition to traverse until the end of the list.

DSA Java
while (current [1] null) {
Drag options to blanks, or click blank then click option'
A==
B=
C=>
D!=
Attempts:
3 left
💡 Hint
Common Mistakes
Using assignment operator '=' instead of comparison
Using '==' which would stop at the first node
Using invalid operator '=>'
4fill in blank
hard

Fill both blanks to complete the loop that prints all nodes in the linked list.

DSA Java
while (current [1] null) {
    System.out.println(current[2]);
    current = current.next;
}
Drag options to blanks, or click blank then click option'
A!=
B.next
C.data
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using '==' instead of '!=' in the loop condition
Printing current.next instead of current.data
5fill in blank
hard

Fill all three blanks to create a method that prints all elements of a linked list.

DSA Java
public void printList(Node [1]) {
    Node current = [2];
    while (current [3] null) {
        System.out.println(current.data);
        current = current.next;
    }
}
Drag options to blanks, or click blank then click option'
Ahead
C!=
Dcurrent
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong parameter name
Using '=' instead of '!=' in the loop condition
Assigning wrong variable to current

Practice

(1/5)
1. What is the main purpose of traversing a linked list in Java?
easy
A. To sort the linked list nodes automatically
B. To delete the entire linked list at once
C. To create a new linked list from scratch
D. To visit each node and perform an action like printing its value

Solution

  1. Step 1: Understand traversal meaning

    Traversal means visiting each node one by one in the linked list.
  2. Step 2: Identify traversal purpose

    Commonly, traversal is used to perform actions like printing or searching nodes.
  3. Final Answer:

    To visit each node and perform an action like printing its value -> Option D
  4. Quick Check:

    Traversal = Visit nodes [OK]
Hint: Traversal means visiting nodes one by one [OK]
Common Mistakes:
  • Confusing traversal with deletion
  • Thinking traversal creates a new list
  • Assuming traversal sorts the list
2. Which of the following is the correct syntax to start traversing a singly linked list named head in Java?
easy
A. Node current = head.next;
B. Node current = null;
C. Node current = head;
D. Node current = head.prev;

Solution

  1. Step 1: Identify starting point of traversal

    Traversal starts from the first node, which is referenced by head.
  2. Step 2: Choose correct initialization

    We assign current to head to begin traversal at the first node.
  3. Final Answer:

    Node current = head; -> Option C
  4. Quick Check:

    Start traversal at head node [OK]
Hint: Start traversal from head node reference [OK]
Common Mistakes:
  • Starting from head.next skips first node
  • Initializing current to null causes no traversal
  • Using head.prev in singly linked list causes error
3. What will be the output of the following Java code snippet?
class Node {
  int data;
  Node next;
  Node(int d) { data = d; next = null; }
}

public class Main {
  public static void main(String[] args) {
    Node head = new Node(5);
    head.next = new Node(10);
    head.next.next = new Node(15);

    Node current = head;
    while (current != null) {
      System.out.print(current.data + " -> ");
      current = current.next;
    }
    System.out.print("null");
  }
}
medium
A. 5 -> 10 -> 15 -> null
B. null -> 5 -> 10 -> 15
C. 5 10 15 null
D. 5 -> 10 -> null

Solution

  1. Step 1: Trace node creation and linking

    Nodes created with data 5, 10, 15 linked as 5 -> 10 -> 15 -> null.
  2. Step 2: Follow while loop printing

    Loop prints each node's data followed by ' -> ', then ends with 'null'.
  3. Final Answer:

    5 -> 10 -> 15 -> null -> Option A
  4. Quick Check:

    Print nodes in order with arrows [OK]
Hint: Print each node data with arrow until null [OK]
Common Mistakes:
  • Printing null at start instead of end
  • Missing arrows between nodes
  • Stopping before last node
4. Identify the error in the following code snippet for printing a linked list and select the correct fix.
Node current = head;
while (current.next != null) {
  System.out.print(current.data + " -> ");
  current = current.next;
}
System.out.print("null");
medium
A. Remove System.out.print("null") line
B. Change condition to current != null to print last node
C. Initialize current to head.next to skip first node
D. Add current = current.next inside the loop

Solution

  1. Step 1: Analyze loop condition

    The loop stops when current.next is null, so last node is not printed.
  2. Step 2: Fix condition to include last node

    Changing condition to current != null ensures last node is printed.
  3. Final Answer:

    Change condition to current != null to print last node -> Option B
  4. Quick Check:

    Loop until current is null to print all nodes [OK]
Hint: Loop until current is null to include last node [OK]
Common Mistakes:
  • Using current.next != null misses last node
  • Skipping first node by wrong initialization
  • Removing null print causes unclear output
5. Given a singly linked list, how would you modify the traversal code to print the list in reverse order without changing the list structure?
hard
A. Use recursion to traverse to the end, then print nodes on return
B. Reverse the list first, then traverse normally
C. Use a loop to print nodes from tail to head directly
D. Print nodes while moving forward, then print again backward

Solution

  1. Step 1: Understand limitation of singly linked list

    Singly linked list nodes only point forward, so backward traversal is not direct.
  2. Step 2: Use recursion to print in reverse

    Recursion goes to end first, then prints nodes on returning back, achieving reverse print without changing list.
  3. Final Answer:

    Use recursion to traverse to the end, then print nodes on return -> Option A
  4. Quick Check:

    Recursion prints reverse without modifying list [OK]
Hint: Recursion prints reverse by returning from end [OK]
Common Mistakes:
  • Trying to loop backward in singly linked list
  • Reversing list changes structure, not allowed here
  • Printing twice forward and backward duplicates output
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard