Bird
Raised Fist0
DSA Typescriptprogramming~5 mins

Insert at Beginning Head Insert in DSA Typescript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does 'Insert at Beginning' mean in a linked list?
It means adding a new node at the start (head) of the linked list, making it the first element.
Click to reveal answer
beginner
Why is inserting at the beginning of a linked list efficient?
Because it only changes the head pointer and the new node's next pointer, so it takes constant time O(1).
Click to reveal answer
beginner
In TypeScript, what properties does a linked list node usually have?
A node usually has a 'value' to store data and a 'next' pointer to the next node or null if it's the last.
Click to reveal answer
beginner
What happens to the old head node when a new node is inserted at the beginning?
The old head becomes the second node; the new node points to it as its next node.
Click to reveal answer
beginner
Show the steps to insert a new node with value 5 at the beginning of a linked list.
1. Create new node with value 5.
2. Set new node's next to current head.
3. Update head to new node.
Click to reveal answer
What is the time complexity of inserting a node at the beginning of a linked list?
AO(n)
BO(1)
CO(log n)
DO(n^2)
When inserting at the beginning, what does the new node's next pointer point to?
AThe current head node
BNull
CThe last node
DItself
If the linked list is empty, what should the new node's next pointer be after insertion at beginning?
ANull
BThe old head
CThe last node
DUndefined
Which pointer is updated to insert a node at the beginning?
AMiddle pointer
BTail pointer
CHead pointer
DNext pointer of last node
What is the first step when inserting a node at the beginning?
AUpdate head pointer
BDelete the old head
CTraverse the list
DCreate a new node
Explain how to insert a new node at the beginning of a singly linked list.
Think about what happens to the head pointer and the new node's next pointer.
You got /3 concepts.
    Why is inserting at the beginning of a linked list faster than inserting at the end?
    Consider how many nodes you need to visit for each insertion.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the "Insert at Beginning" operation do in a singly linked list?
      easy
      A. Adds a new node at the start of the list
      B. Adds a new node at the end of the list
      C. Deletes the first node of the list
      D. Deletes the last node of the list

      Solution

      1. Step 1: Understand the operation

        Inserting at the beginning means adding a new node before the current first node.
      2. Step 2: Effect on the list

        The new node becomes the head, pushing the old head to second position.
      3. Final Answer:

        Adds a new node at the start of the list -> Option A
      4. Quick Check:

        Insert at beginning = Add new head [OK]
      Hint: Insert at beginning means new head node [OK]
      Common Mistakes:
      • Confusing insert at beginning with insert at end
      • Thinking it deletes nodes
      • Assuming it changes the tail node
      2. Which of the following is the correct TypeScript syntax to insert a new node at the beginning of a singly linked list?
      easy
      A. newNode = head; head.next = newNode;
      B. head = newNode.next; newNode = head;
      C. head.next = newNode; newNode = head;
      D. newNode.next = head; head = newNode;

      Solution

      1. Step 1: Link new node to current head

        Set newNode.next to point to current head node.
      2. Step 2: Update head to new node

        Assign head to newNode so it becomes the first node.
      3. Final Answer:

        newNode.next = head; head = newNode; -> Option D
      4. Quick Check:

        Link new node to head, then update head [OK]
      Hint: Set newNode.next to head, then head = newNode [OK]
      Common Mistakes:
      • Assigning head before linking newNode.next
      • Swapping assignments order
      • Using head.next instead of newNode.next
      3. What will be the linked list after executing the following TypeScript code?
      class Node {
        value: number;
        next: Node | null = null;
        constructor(value: number) { this.value = value; }
      }
      
      let head: Node | null = new Node(10);
      let newNode = new Node(5);
      newNode.next = head;
      head = newNode;
      medium
      A. 10 -> null
      B. 10 -> 5 -> null
      C. 5 -> 10 -> null
      D. 5 -> null

      Solution

      1. Step 1: Initial list setup

        head points to node with value 10, next is null.
      2. Step 2: Insert newNode at beginning

        newNode (5) points to head (10), then head updated to newNode.
      3. Final Answer:

        5 -> 10 -> null -> Option C
      4. Quick Check:

        New node 5 becomes head, points to 10 [OK]
      Hint: New node points to old head, then becomes new head [OK]
      Common Mistakes:
      • Confusing order of nodes after insertion
      • Forgetting to update head
      • Assuming newNode.next is null
      4. Identify the error in this TypeScript code that tries to insert a node at the beginning of a linked list:
      class Node {
        value: number;
        next: Node | null = null;
        constructor(value: number) { this.value = value; }
      }
      
      let head: Node | null = null;
      let newNode = new Node(7);
      head.next = newNode;
      head = newNode;
      medium
      A. head is null, so head.next causes an error
      B. newNode is not linked to head
      C. head should be assigned before newNode.next
      D. Missing constructor call for newNode

      Solution

      1. Step 1: Check initial head value

        head is null, so accessing head.next is invalid and causes runtime error.
      2. Step 2: Correct insertion approach

        Assign newNode.next = head (which is null), then head = newNode.
      3. Final Answer:

        head is null, so head.next causes an error -> Option A
      4. Quick Check:

        Cannot access property on null head [OK]
      Hint: Check if head is null before accessing head.next [OK]
      Common Mistakes:
      • Trying to access next on null head
      • Not linking newNode.next to head
      • Assigning head after using head.next
      5. Given a singly linked list with nodes 20 -> 30 -> 40 -> null, what will be the list after inserting 10 at the beginning using head insert method?
      hard
      A. 20 -> 30 -> 40 -> 10 -> null
      B. 10 -> 20 -> 30 -> 40 -> null
      C. 30 -> 40 -> 10 -> 20 -> null
      D. 10 -> 30 -> 40 -> 20 -> null

      Solution

      1. Step 1: Understand initial list

        List is 20 -> 30 -> 40 -> null, head points to 20.
      2. Step 2: Insert 10 at beginning

        Create new node 10, set newNode.next = head (20), then head = newNode.
      3. Final Answer:

        10 -> 20 -> 30 -> 40 -> null -> Option B
      4. Quick Check:

        New node 10 becomes head, old list follows [OK]
      Hint: New node points to old head, becomes new head [OK]
      Common Mistakes:
      • Appending new node at end instead of beginning
      • Mixing node order after insertion
      • Not updating head pointer
      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