📖 Scenario: Imagine you have a list of tasks to do today. Sometimes, you finish a task or decide to remove it from your list. You want to remove a task at a certain position from your list.
🎯 Goal: You will create a simple linked list of tasks, then remove a task at a specific position, and finally print the updated list.
📋 What You'll Learn
Create a linked list with exactly these tasks in order: "Laundry", "Groceries", "Homework", "Exercise", "Call Mom"
Create an integer variable called position and set it to 3
Write code to delete the node at the position in the linked list
Print the linked list after deletion in the format: Task1 -> Task2 -> ... -> null
💡 Why This Matters
🌍 Real World
Managing tasks, playlists, or any ordered list where items can be added or removed at specific positions.
💼 Career
Understanding linked list operations is fundamental for software development roles involving data structures and memory management.
Progress0 / 4 steps
1
Create the linked list with tasks
Create a class called Node with a String data and Node next. Then create a linked list with nodes containing these tasks in order: "Laundry", "Groceries", "Homework", "Exercise", "Call Mom". Store the head node in a variable called head.
DSA Java
Hint
Start by defining the Node class with data and next. Then link nodes one by one to form the list.
2
Set the position to delete
Create an integer variable called position and set it to 3.
DSA Java
Hint
Just write int position = 3; inside the main method.
3
Delete the node at the given position
Write code inside the main method to delete the node at position from the linked list starting at head. Handle the case when position is 1 (delete head).
DSA Java
Hint
Use a loop to reach the node before the one to delete, then change its next to skip the deleted node.
4
Print the updated linked list
Write code to print the linked list starting from head in this format: Task1 -> Task2 -> ... -> null.
DSA Java
Hint
Use a while loop to go through each node and print its data followed by ->. End with null.
Practice
(1/5)
1. What happens when you delete a node at position 1 in a singly linked list?
easy
A. The list remains unchanged
B. The last node is removed
C. The head node is removed and the next node becomes the new head
D. All nodes are deleted
Solution
Step 1: Understand position 1 in linked list
Position 1 refers to the head node of the list.
Step 2: Delete the head node
Removing the head means the next node becomes the new head.
Final Answer:
The head node is removed and the next node becomes the new head -> Option C
Quick Check:
Deleting position 1 removes head [OK]
Hint: Deleting position 1 means removing the head node [OK]
Common Mistakes:
Thinking position 1 means last node
Assuming list stays same after deletion
Deleting all nodes instead of one
2. Which of the following is the correct Java syntax to delete a node at position pos in a singly linked list starting with head?
easy
A. if (pos == 1) head = head.next;
B. head = head.next.next;
C. head.next = null;
D. head = null;
Solution
Step 1: Check deletion at position 1
If position is 1, we remove the head by pointing head to head.next.
Step 2: Validate syntax correctness
if (pos == 1) head = head.next; correctly assigns head = head.next; others either skip nodes or nullify incorrectly.
Final Answer:
if (pos == 1) head = head.next; -> Option A
Quick Check:
Correct syntax for deleting head node [OK]
Hint: Deleting head means head = head.next [OK]
Common Mistakes:
Skipping two nodes instead of one
Setting head.next to null incorrectly
Setting entire head to null without condition
3. Given the linked list: 10 -> 20 -> 30 -> 40 -> null, what is the list after deleting the node at position 3?
medium
A. 10 -> 20 -> 40 -> null
B. 10 -> 30 -> 40 -> null
C. 20 -> 30 -> 40 -> null
D. 10 -> 20 -> 30 -> null
Solution
Step 1: Identify node at position 3
Position 3 node is 30 in the list 10 -> 20 -> 30 -> 40 -> null.
Step 2: Remove node 30 and link previous to next
Link node 20's next to node 40, skipping 30.
Final Answer:
10 -> 20 -> 40 -> null -> Option A
Quick Check:
Deleted 3rd node 30 correctly [OK]
Hint: Skip the node at position by linking previous to next [OK]
Common Mistakes:
Deleting wrong node position
Not updating previous node's next pointer
Removing head instead of position 3
4. Consider this code snippet to delete a node at position pos in a singly linked list:
Node temp = head;
for (int i = 1; i < pos - 1; i++) {
temp = temp.next;
}
temp.next = temp.next.next;
What error can occur if pos is 1?
medium
A. ArrayIndexOutOfBoundsException
B. NullPointerException because temp.next is null
C. The head node is deleted correctly
D. No error, deletion works fine
Solution
Step 1: Analyze loop for pos = 1
Loop runs from i=1 to pos-2 = -1, so it does not run; temp = head.
Step 2: Access temp.next when pos=1
temp.next is head.next, but deletion logic expects previous node; deleting head this way causes NullPointerException.
Final Answer:
NullPointerException because temp.next is null -> Option B
Quick Check:
Deleting position 1 needs special handling [OK]
Hint: Deleting head needs separate code; loop fails for pos=1 [OK]
Common Mistakes:
Assuming loop runs for pos=1
Not handling head deletion separately
Expecting no error for pos=1
5. You have a singly linked list: 5 -> 10 -> 15 -> 20 -> 25 -> null. Write the resulting list after deleting the node at position 5, then position 1, and finally position 2 in that order.
hard
A. 10 -> 20 -> 25 -> null
B. 10 -> 15 -> 25 -> null
C. 5 -> 15 -> 20 -> 25 -> null
D. 10 -> 20 -> null
Solution
Step 1: Delete node at position 5
Position 5 node is 25; after deletion list: 5 -> 10 -> 15 -> 20 -> null.
Step 2: Delete node at position 1
Delete head (5); new list: 10 -> 15 -> 20 -> null.
Step 3: Delete node at position 2
Position 2 node is 15; after deletion list: 10 -> 20 -> null.
Final Answer:
10 -> 20 -> null -> Option D
Quick Check:
Sequential deletions update list correctly [OK]
Hint: Delete from end, then head, then middle stepwise [OK]
Common Mistakes:
Deleting wrong nodes after list changes
Not updating head after first deletion
Confusing positions after deletions
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.