Bird
Raised Fist0
DSA Typescriptprogramming~5 mins

Traversal and Printing a Linked List in DSA Typescript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the main purpose of traversing a linked list?
To visit each node in the linked list one by one, usually to read or print the data stored in each node.
Click to reveal answer
beginner
In a singly linked list, what pointer do we follow to move from one node to the next?
We follow the 'next' pointer in each node to move to the next node in the list.
Click to reveal answer
beginner
What condition tells us that we have reached the end of a linked list during traversal?
When the 'next' pointer of the current node is null, it means we have reached the end of the list.
Click to reveal answer
intermediate
Why is it important to check for null before accessing the next node in a linked list?
To avoid errors or crashes by ensuring we do not try to access a node that does not exist (null).
Click to reveal answer
beginner
What is the output format when printing a linked list as '1 -> 2 -> 3 -> null'?
It shows the data in each node connected by arrows, ending with 'null' to indicate the list ends there.
Click to reveal answer
What does the 'next' pointer in a linked list node represent?
AThe previous node in the list
BThe data stored in the node
CThe address of the next node in the list
DThe length of the list
How do you know when to stop traversing a singly linked list?
AAfter visiting 10 nodes
BWhen the current node's data is zero
CWhen the current node points to itself
DWhen the current node's next pointer is null
Which of these is the correct way to print a linked list's data?
APrint all data in one line without separators
BPrint each node's data followed by '->', ending with 'null'
CPrint only the first node's data
DPrint the memory addresses of nodes
What happens if you forget to check for null before accessing the next node?
AProgram may crash or throw an error
BThe list will print twice
CThe traversal will skip nodes
DNothing happens, it is safe
What is the first step in traversing a linked list?
AStart at the head node
BStart at the last node
CCreate a new node
DDelete the head node
Explain how to traverse and print all elements of a singly linked list.
Think about visiting nodes one by one until the end.
You got /5 concepts.
    Describe why checking for null is important during linked list traversal.
    What happens if you try to access something that isn't there?
    You got /4 concepts.

      Practice

      (1/5)
      1. What does it mean to traverse a linked list?
      easy
      A. Visit each node in the list one by one from start to end
      B. Add a new node at the end of the list
      C. Delete the first node of the list
      D. Reverse the order of nodes in the list

      Solution

      1. Step 1: Understand traversal meaning

        Traversal means going through each element in order to access or process it.
      2. Step 2: Apply to linked list context

        In a linked list, traversal means visiting each node starting from the head until the end (null).
      3. Final Answer:

        Visit each node in the list one by one from start to end -> Option A
      4. Quick Check:

        Traversal = Visit nodes sequentially [OK]
      Hint: Traversal means visiting nodes one after another [OK]
      Common Mistakes:
      • Confusing traversal with insertion or deletion
      • Thinking traversal changes the list order
      • Assuming traversal skips nodes
      2. Which of the following is the correct way to start traversing a linked list in TypeScript?
      easy
      A. let current = head;
      B. let current = tail;
      C. let current = null;
      D. let current = new Node();

      Solution

      1. Step 1: Identify starting point for traversal

        Traversal starts from the first node, called head, to visit all nodes.
      2. Step 2: Check options for correct initialization

        Setting current to head allows moving through nodes; tail or null won't start traversal properly.
      3. Final Answer:

        let current = head; -> Option A
      4. Quick Check:

        Start traversal at head node [OK]
      Hint: Always start traversal from the head node [OK]
      Common Mistakes:
      • Starting traversal from tail which is the last node
      • Initializing current to null which skips traversal
      • Creating a new node instead of using existing head
      3. What will be the output of the following TypeScript code that prints a linked list?
      class Node {
        value: number;
        next: Node | null;
        constructor(value: number) {
          this.value = value;
          this.next = null;
        }
      }
      
      const head = new Node(1);
      head.next = new Node(2);
      head.next.next = new Node(3);
      
      let current = head;
      while (current !== null) {
        console.log(current.value);
        current = current.next;
      }
      medium
      A. 3 2 1
      B. 1 2 3
      C. 1 3 2
      D. 2 3 1

      Solution

      1. Step 1: Understand list structure

        The list nodes are linked as 1 -> 2 -> 3 -> null.
      2. Step 2: Trace the while loop output

        The loop prints current.value starting at head (1), then moves to 2, then 3, then stops at null.
      3. Final Answer:

        1 2 3 -> Option B
      4. Quick Check:

        Print nodes in order: 1 2 3 [OK]
      Hint: Print values while moving from head to next until null [OK]
      Common Mistakes:
      • Printing in reverse order by mistake
      • Skipping nodes by incorrect pointer update
      • Confusing node values order
      4. Identify the error in this linked list traversal code and select the fix:
      let current = head;
      while (current.next !== null) {
        console.log(current.value);
        current = current.next;
      }
      medium
      A. Remove console.log inside the loop
      B. Add console.log after the loop
      C. Initialize current to null
      D. Change condition to current !== null

      Solution

      1. Step 1: Analyze loop condition

        The loop stops when current.next is null, so it skips printing the last node.
      2. Step 2: Fix condition to include last node

        Changing condition to current !== null ensures all nodes, including last, are printed.
      3. Final Answer:

        Change condition to current !== null -> Option D
      4. Quick Check:

        Loop until current is null to print all nodes [OK]
      Hint: Loop until current is null to include last node [OK]
      Common Mistakes:
      • Using current.next !== null misses last node
      • Not updating current inside loop causes infinite loop
      • Printing after loop instead of inside
      5. Given a linked list with nodes containing values 5 -> 10 -> 15 -> null, write a TypeScript function to traverse and collect these values into an array. What will be the returned array after traversal?
      hard
      A. [15, 10, 5]
      B. [5, 15, 10]
      C. [5, 10, 15]
      D. [10, 5, 15]

      Solution

      1. Step 1: Traverse from head to end

        Start at head (5), then move to 10, then 15, collecting values in order.
      2. Step 2: Collect values in array during traversal

        Push each node's value into an array as you visit it, resulting in [5, 10, 15].
      3. Final Answer:

        [5, 10, 15] -> Option C
      4. Quick Check:

        Values collected in order visited [OK]
      Hint: Collect values while traversing from head to null [OK]
      Common Mistakes:
      • Collecting values in reverse order
      • Skipping nodes by wrong pointer update
      • Returning array before traversal completes
      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