Bird
Raised Fist0
DSA Typescriptprogramming~5 mins

Get Length of Linked List in DSA Typescript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
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
What is the initial value of the count variable when calculating linked list length?
Anull
B1
Cundefined
D0
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
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)
Which data structure does NOT store its length inherently?
AArray
BLinked List
CString
DHash Map
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

      1. 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.
      2. Step 2: Confirm what is returned

        Since it counts nodes, it returns the total count, not values or nodes themselves.
      3. Final Answer:

        The number of nodes in the linked list -> Option B
      4. 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

      1. Step 1: Identify the correct initial value for counting

        Counting nodes requires a number starting at zero, so count should be initialized to 0.
      2. Step 2: Check other options

        Initializing to null, head, or undefined is incorrect for counting.
      3. Final Answer:

        let count = 0; -> Option A
      4. 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

      1. Step 1: Trace the linked list nodes

        There are three nodes linked: node1 -> node2 -> node3 -> null.
      2. Step 2: Count nodes in the while loop

        The loop increments count for each node until current is null, so count becomes 3.
      3. Final Answer:

        3 -> Option A
      4. 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

      1. Step 1: Analyze the while loop condition

        The loop runs while current.next !== null, so it stops before the last node.
      2. Step 2: Understand counting effect

        Because the last node's next is null, it is not counted, so length is one less than actual.
      3. Final Answer:

        It misses counting the last node -> Option D
      4. 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

      1. Step 1: Handle empty list case

        Check if head is null before counting; if yes, return 0 immediately.
      2. Step 2: Count nodes if list is not empty

        If head is not null, loop through nodes incrementing count until current is null.
      3. Final Answer:

        Check if head is null before loop; return 0 if true, else count nodes -> Option C
      4. 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 unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard