What is the purpose of the 'Get Length of Linked List' operation?
It counts how many nodes are in a linked list, telling us the total number of elements stored.
Click to reveal answer
beginner
In a singly linked list, how do you move from one node to the next?
You follow the 'next' pointer/reference from the current node to the next node until you reach the end (null).
Click to reveal answer
intermediate
What is the time complexity of finding the length of a linked list by traversing it?
O(n), where n is the number of nodes, because you visit each node once to count.
Click to reveal answer
intermediate
Why can't we get the length of a linked list in O(1) time without extra storage?
Because linked lists do not store their size inherently; you must count nodes by visiting each one.
Click to reveal answer
beginner
Show the basic TypeScript code snippet to get the length of a singly linked list.
let count = 0;
let current = head;
while (current !== null) {
count++;
current = current.next;
}
return count;
Click to reveal answer
What does the 'next' property in a linked list node represent?
AThe next node in the list
BThe previous node in the list
CThe value stored in the node
DThe length of the list
✗ Incorrect
The 'next' property points to the next node in the linked list, allowing traversal.
What is the initial value of the count variable when calculating linked list length?
Anull
B1
Cundefined
D0
✗ Incorrect
We start counting from zero before visiting any nodes.
When does the traversal of a linked list stop during length calculation?
AWhen current node is null
BWhen count reaches 10
CWhen the first node is reached
DWhen the last node's value is zero
✗ Incorrect
Traversal stops when the current node is null, meaning the end of the list.
What is the time complexity of getting the length of a linked list by traversal?
AO(log n)
BO(1)
CO(n)
DO(n^2)
✗ Incorrect
You must visit each node once, so time grows linearly with the number of nodes.
Which data structure does NOT store its length inherently?
AArray
BLinked List
CString
DHash Map
✗ Incorrect
Linked lists do not keep track of their length automatically; arrays and strings do.
Explain step-by-step how to find the length of a singly linked list.
Think about walking through the list one node at a time and counting.
You got /6 concepts.
Why is it necessary to traverse the entire linked list to get its length?
Consider what information is stored in each node and what is not.
You got /4 concepts.
Practice
(1/5)
1. What does the function getLength(head: ListNode | null): number typically return when given the head of a linked list?
easy
A. The last node in the linked list
B. The number of nodes in the linked list
C. The value of the first node
D. The sum of all node values
Solution
Step 1: Understand the function purpose
The function named getLength is designed to count nodes, so it returns the number of nodes in the list.
Step 2: Confirm what is returned
Since it counts nodes, it returns the total count, not values or nodes themselves.
Final Answer:
The number of nodes in the linked list -> Option B
Quick Check:
Function name and return type indicate count [OK]
Hint: Function named getLength returns count of nodes [OK]
Common Mistakes:
Confusing length with node value
Thinking it returns the last node
Assuming it sums node values
2. Which of the following TypeScript code snippets correctly initializes a variable count to start counting nodes in a linked list?
easy
A. let count = 0;
B. let count = null;
C. let count = head;
D. let count = undefined;
Solution
Step 1: Identify the correct initial value for counting
Counting nodes requires a number starting at zero, so count should be initialized to 0.
Step 2: Check other options
Initializing to null, head, or undefined is incorrect for counting.
Final Answer:
let count = 0; -> Option A
Quick Check:
Counting starts at zero [OK]
Hint: Start counting nodes from zero [OK]
Common Mistakes:
Initializing count to null or undefined
Using head node as count
Not initializing count at all
3. What will be the output of the following TypeScript code?
class ListNode {
val: number;
next: ListNode | null;
constructor(val: number) {
this.val = val;
this.next = null;
}
}
function getLength(head: ListNode | null): number {
let count = 0;
let current = head;
while (current !== null) {
count++;
current = current.next;
}
return count;
}
const node1 = new ListNode(10);
const node2 = new ListNode(20);
const node3 = new ListNode(30);
node1.next = node2;
node2.next = node3;
console.log(getLength(node1));
medium
A. 3
B. 2
C. 0
D. Error
Solution
Step 1: Trace the linked list nodes
There are three nodes linked: node1 -> node2 -> node3 -> null.
Step 2: Count nodes in the while loop
The loop increments count for each node until current is null, so count becomes 3.
Final Answer:
3 -> Option A
Quick Check:
3 nodes counted [OK]
Hint: Count increments once per node until null [OK]
Common Mistakes:
Counting only 2 nodes by missing last
Returning zero if loop not entered
Syntax errors causing runtime error
4. Identify the error in this TypeScript function to get linked list length:
function getLength(head: ListNode | null): number {
let count = 0;
let current = head;
while (current.next !== null) {
count++;
current = current.next;
}
return count;
}
medium
A. It counts nodes twice
B. It will cause an infinite loop
C. It throws a syntax error
D. It misses counting the last node
Solution
Step 1: Analyze the while loop condition
The loop runs while current.next !== null, so it stops before the last node.
Step 2: Understand counting effect
Because the last node's next is null, it is not counted, so length is one less than actual.
Final Answer:
It misses counting the last node -> Option D
Quick Check:
Loop condition excludes last node [OK]
Hint: Loop until current is null, not current.next [OK]
Common Mistakes:
Using current.next in loop condition
Not counting last node
Assuming loop counts all nodes
5. Given a linked list where each node has a val and next, how would you modify the getLength function to return 0 if the list is empty and the correct length otherwise?
hard
A. Return length as 1 if head is null
B. Start count at 1 and loop while current is not null
C. Check if head is null before loop; return 0 if true, else count nodes
D. Use a for loop from 0 to head.val
Solution
Step 1: Handle empty list case
Check if head is null before counting; if yes, return 0 immediately.
Step 2: Count nodes if list is not empty
If head is not null, loop through nodes incrementing count until current is null.
Final Answer:
Check if head is null before loop; return 0 if true, else count nodes -> Option C
Quick Check:
Empty list returns 0, else counts nodes [OK]
Hint: Return 0 if head is null before counting [OK]
Common Mistakes:
Starting count at 1 incorrectly
Returning 1 for empty list
Using node value instead of node presence
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.