What does the 'push' operation do in a linked list?
It adds a new node at the beginning (head) of the linked list, making it the new first element.
Click to reveal answer
beginner
In a singly linked list, what pointer does the new node's 'next' field point to after a push?
It points to the previous head node, linking the new node to the rest of the list.
Click to reveal answer
intermediate
Why is push operation on a linked list efficient?
Because it only changes a few pointers and does not require shifting elements like arrays, so it runs in constant time O(1).
Click to reveal answer
beginner
What happens to the head pointer after a push operation?
The head pointer is updated to point to the new node, which becomes the first node in the list.
Click to reveal answer
beginner
Show the state of the linked list after pushing nodes with values 3, then 5, then 7 (in that order) starting from an empty list.
After pushing 3: 3 -> null After pushing 5: 5 -> 3 -> null After pushing 7: 7 -> 5 -> 3 -> null
Click to reveal answer
What is the time complexity of the push operation in a singly linked list?
AO(1)
BO(n)
CO(log n)
DO(n^2)
✗ Incorrect
Push adds a node at the head and only changes pointers, so it runs in constant time O(1).
After pushing a new node, where does the head pointer point?
ATo the new node
BTo the last node
CTo null
DTo the second node
✗ Incorrect
The head pointer always points to the first node, which is the newly pushed node.
If the linked list is empty, what does the new node's next pointer point to after push?
Ahead
Bundefined
Citself
Dnull
✗ Incorrect
When the list is empty, the new node's next pointer points to null, indicating the end of the list.
Which of these is true about push operation in linked lists?
AIt removes the first node
BIt inserts at the end of the list
CIt inserts at the beginning of the list
DIt reverses the list
✗ Incorrect
Push inserts a new node at the beginning (head) of the linked list.
What happens to the old head node after a push?
AIt becomes the new head
BIt becomes the second node
CIt becomes the last node
DIt is deleted
✗ Incorrect
The old head node becomes the second node after the new node is pushed at the front.
Explain step-by-step how the push operation works on a singly linked list.
Think about how the new node connects to the existing list and how the head changes.
You got /3 concepts.
Describe the state of the linked list after pushing values 10, 20, and 30 in that order starting from empty.
Remember each new node becomes the head.
You got /3 concepts.
Practice
(1/5)
1. What does the push operation do in a linked list when using nodes?
easy
A. Removes the last node from the list
B. Adds a new node at the beginning of the list
C. Searches for a node with a specific value
D. Deletes the first node of the list
Solution
Step 1: Understand push operation in linked list
The push operation adds a new node to the start (head) of the linked list.
Step 2: Compare with other operations
Removing or searching nodes are different operations, not push.
Final Answer:
Adds a new node at the beginning of the list -> Option B
Quick Check:
Push = Add at head [OK]
Hint: Push always adds node at the start of the list [OK]
Common Mistakes:
Confusing push with pop or delete
Thinking push adds at the end
Mixing push with search operation
2. Which of the following is the correct syntax to create a new node and push it to the front of a linked list in JavaScript?
easy
A. newNode = Node(value); head = newNode.next;
B. head = new Node(value); head.next = newNode;
C. let newNode = new Node(value); newNode.next = head; head = newNode;
D. head.next = new Node(value); head = head.next;
Solution
Step 1: Create new node and link it to current head
We create a new node, set its next to current head, then update head to new node.
Step 2: Check each option
let newNode = new Node(value); newNode.next = head; head = newNode; correctly does this. Others either reverse assignments or miss new keyword.
Final Answer:
let newNode = new Node(value); newNode.next = head; head = newNode; -> Option C
Quick Check:
New node points to old head, head updated [OK]
Hint: New node's next points to old head, then update head [OK]
Common Mistakes:
Forgetting to use 'new' keyword
Assigning head before setting newNode.next
Mixing order of assignments
3. What will be the linked list after executing the following code?
class Node {
constructor(value) {
this.value = value;
this.next = null;
}
}
let head = null;
function push(value) {
let newNode = new Node(value);
newNode.next = head;
head = newNode;
}
push(10);
push(20);
push(30);
medium
A. 10 -> 20 -> 30 -> null
B. null -> 10 -> 20 -> 30
C. 20 -> 30 -> 10 -> null
D. 30 -> 20 -> 10 -> null
Solution
Step 1: Trace push calls and list updates
First push(10): head = 10 -> null Second push(20): head = 20 -> 10 -> null Third push(30): head = 30 -> 20 -> 10 -> null
Step 2: Confirm final linked list order
New nodes are added at front, so list is 30 -> 20 -> 10 -> null.
Final Answer:
30 -> 20 -> 10 -> null -> Option D
Quick Check:
Last pushed is first in list [OK]
Hint: Last pushed node becomes new head [OK]
Common Mistakes:
Assuming push adds at end
Confusing order of nodes
Ignoring that head updates each push
4. Identify the error in the following push function for a linked list:
function push(value) {
let newNode = Node(value);
newNode.next = head;
head = newNode;
}
medium
A. Missing 'new' keyword when creating newNode
B. Incorrect assignment of newNode.next
C. head should be assigned before newNode.next
D. Function should return the new head
Solution
Step 1: Check node creation syntax
Node is a class; must use 'new' keyword to create instance. Missing here.
Step 2: Verify other assignments
newNode.next = head and head = newNode are correct order and assignments.
Final Answer:
Missing 'new' keyword when creating newNode -> Option A
Quick Check:
Use 'new' to create class instance [OK]
Hint: Always use 'new' with class constructors [OK]
Common Mistakes:
Forgetting 'new' causes runtime error
Swapping assignment order
Expecting push to return head
5. Given a linked list with nodes 5 -> 15 -> 25 -> null, what will be the list after pushing a new node with value 10 using the push function?
function push(value) {
let newNode = new Node(value);
newNode.next = head;
head = newNode;
}
Assume head points to the first node (5).
medium
A. 10 -> 5 -> 15 -> 25 -> null
B. 5 -> 15 -> 25 -> 10 -> null
C. 5 -> 10 -> 15 -> 25 -> null
D. 25 -> 15 -> 5 -> 10 -> null
Solution
Step 1: Understand push adds node at front
Push creates new node with value 10, sets its next to current head (5), then updates head to new node.
Step 2: Visualize new list order
New head is 10, followed by old list 5 -> 15 -> 25 -> null, so final list is 10 -> 5 -> 15 -> 25 -> null.
Final Answer:
10 -> 5 -> 15 -> 25 -> null -> Option A
Quick Check:
Push adds new node at front [OK]
Hint: Push inserts new node before current head [OK]
Common Mistakes:
Appending new node at end instead of front
Not updating head pointer
Mixing node order after push
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.