A node is a basic unit that stores data and references (pointers) to other nodes, forming structures like linked lists or trees.
Click to reveal answer
beginner
What does a pointer in a node represent?
A pointer is a reference inside a node that points to another node, helping to link nodes together in a structure.
Click to reveal answer
beginner
In a singly linked list node, how many pointers are there and what do they point to?
There is one pointer that points to the next node in the list or null if it is the last node.
Click to reveal answer
intermediate
Why do doubly linked list nodes have two pointers?
Because one pointer points to the next node and the other points to the previous node, allowing traversal in both directions.
Click to reveal answer
beginner
What is the role of a null pointer in node structures?
A null pointer indicates the end of a structure or that there is no node linked in that direction.
Click to reveal answer
How many pointers does a node in a singly linked list have?
ANo pointers
BTwo pointers, next and previous
COne pointer to the next node
DThree pointers
✗ Incorrect
A singly linked list node has one pointer that points to the next node.
What does a pointer in a node usually store?
AReference to another node
BData value
CMemory address of data
DSize of the node
✗ Incorrect
Pointers store references to other nodes, linking them together.
In a doubly linked list, what does the previous pointer point to?
ANext node
BPrevious node
CFirst node
DNull always
✗ Incorrect
The previous pointer points to the node before the current one.
What does a null pointer signify in a linked list?
AEnd of the list or no node
BStart of the list
CMiddle of the list
DA node with no data
✗ Incorrect
Null pointer means there is no next (or previous) node, marking the end or absence.
Which of these is NOT part of a typical node structure?
AData field
BPointer(s)
CReference to another node
DIndex number
✗ Incorrect
Nodes usually do not store an index number; they store data and pointers.
Explain the structure of a node in a singly linked list and how pointers are used.
Think about how nodes connect in one direction.
You got /4 concepts.
Describe the difference between pointers in singly and doubly linked list nodes.
Focus on how many directions you can move in each list.
You got /4 concepts.
Practice
(1/5)
1. What does the next pointer in a singly linked list node represent?
easy
A. It points to the next node in the list
B. It stores the data of the node
C. It points to the previous node in the list
D. It holds the size of the list
Solution
Step 1: Understand the role of next pointer
The next pointer in a singly linked list node is designed to link the current node to the following node in the list.
Step 2: Differentiate from other pointers
It does not store data or point backwards; those roles belong to other parts of the node or list structure.
Final Answer:
It points to the next node in the list -> Option A
Quick Check:
next pointer = next node address [OK]
Hint: Remember: next always moves forward in the list [OK]
Common Mistakes:
Confusing next with prev pointer
Thinking next stores data
Assuming next points to the list head
2. Which of the following is the correct way to declare a node class with a pointer to the next node in Java?
easy
A. class Node { int data; int nextNode; }
B. class Node { int data; Node next; }
C. class Node { int data; int next; }
D. class Node { int data; Node prev; }
Solution
Step 1: Check pointer declaration syntax
In Java, to link nodes, the pointer must be of the same class type, here Node next; is correct.
Step 2: Verify naming and types
class Node { int data; int nextNode; } incorrectly uses int nextNode; which is wrong type. class Node { int data; Node prev; } uses prev which is for doubly linked lists. class Node { int data; int next; } incorrectly uses int next; which is wrong type. class Node { int data; Node next; } uses Node next; which is the standard pointer to the next node.
Final Answer:
class Node { int data; Node next; } -> Option B
Quick Check:
Pointer type = Node, name = next [OK]
Hint: Pointer to next node must be same class type named 'next' [OK]
Common Mistakes:
Using primitive types instead of Node for pointer
Confusing next with prev
Incorrect variable naming causing confusion
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 Test {
public static void main(String[] args) {
Node head = new Node(1);
head.next = new Node(2);
head.next.next = new Node(3);
System.out.print(head.data + " -> " + head.next.data + " -> " + head.next.next.data + " -> null");
}
}
medium
A. Compilation error
B. 1 -> 3 -> 2 -> null
C. 3 -> 2 -> 1 -> null
D. 1 -> 2 -> 3 -> null
Solution
Step 1: Trace node creation and linking
Node with data 1 is head, its next points to node with data 2, which points to node with data 3.
Step 2: Print statement output
The print outputs the data in order: 1, then 2, then 3, followed by '-> null'.
Final Answer:
1 -> 2 -> 3 -> null -> Option D
Quick Check:
Linked list order = 1, 2, 3 [OK]
Hint: Follow next pointers step-by-step [OK]
Common Mistakes:
Mixing node data order
Assuming reversed list
Expecting syntax errors where none exist
4. Identify the error in the following node insertion code for a singly linked list:
class Node {
int data;
Node next;
Node(int d) { data = d; next = null; }
}
public class Test {
public static void main(String[] args) {
Node head = new Node(1);
Node newNode = new Node(2);
newNode.next = head;
head = newNode.next;
System.out.print(head.data);
}
}
medium
A. Node constructor is missing
B. newNode.next should be null
C. head is incorrectly assigned, losing newNode reference
D. No error, code runs fine
Solution
Step 1: Analyze pointer assignments
Initially, newNode.next = head; correctly points newNode to old head. But then head = newNode.next; sets head back to old head, losing newNode.
Step 2: Identify correct assignment
To insert newNode at front, head should be assigned to newNode, not newNode.next.
Final Answer:
head is incorrectly assigned, losing newNode reference -> Option C
Quick Check:
head must point to newNode after insertion [OK]
Hint: After insertion, head must point to new node [OK]
Common Mistakes:
Assigning head to newNode.next instead of newNode
Confusing pointer directions
Forgetting to update head after insertion
5. Given a singly linked list node structure with int data and Node next, how would you design a method to insert a new node with value val after a node with a specific value target? Assume the list may not contain target. What is the best approach?
hard
A. Traverse the list to find target, then insert new node after it if found
B. Insert new node at the head regardless of target
C. Replace the data of the node containing target with val
D. Create a new list starting from val and discard old list
Solution
Step 1: Understand insertion after a target node
To insert after a node with value target, we must first find that node by traversing the list.
Step 2: Insert new node if target found
Once found, create new node with val, set its next to target's next, then update target's next to new node.
Step 3: Handle case when target not found
If target is not found, no insertion occurs to keep list intact.
Final Answer:
Traverse the list to find target, then insert new node after it if found -> Option A
Quick Check:
Find target node first, then insert after it [OK]
Hint: Search target node first, then link new node after it [OK]
Common Mistakes:
Inserting without searching for target
Replacing data instead of inserting node
Discarding existing list accidentally
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.