Bird
Raised Fist0
DSA Typescriptprogramming~5 mins

Tree Traversal Inorder Left Root Right in DSA Typescript - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the order of nodes visited in an inorder tree traversal?
In inorder traversal, nodes are visited in the order: Left subtree, then Root node, then Right subtree.
Click to reveal answer
beginner
Why is inorder traversal useful for binary search trees (BST)?
Inorder traversal of a BST visits nodes in ascending sorted order because it visits left (smaller), root, then right (larger) nodes.
Click to reveal answer
beginner
Show the inorder traversal sequence for this tree:
Root: 2
Left child: 1
Right child: 3
The inorder traversal visits: 1 (left), 2 (root), 3 (right). So the sequence is 1 -> 2 -> 3.
Click to reveal answer
intermediate
What is the base case in a recursive inorder traversal function?
The base case is when the current node is null (no node), then the function returns without doing anything.
Click to reveal answer
intermediate
Describe the steps of a recursive inorder traversal function.
1. Traverse left subtree recursively.
2. Visit (process) the root node.
3. Traverse right subtree recursively.
Click to reveal answer
In inorder traversal, which node is visited first?
ANone
BLeft child
CRight child
DRoot node
What is the inorder traversal output of a BST with nodes 5 (root), 3 (left), 7 (right)?
A3 -> 7 -> 5
B5 -> 3 -> 7
C7 -> 5 -> 3
D3 -> 5 -> 7
Which traversal method visits nodes in ascending order for a BST?
APreorder
BPostorder
CInorder
DLevel order
What happens when the recursive inorder function reaches a null node?
AIt returns immediately
BIt throws an error
CIt processes the null node
DIt continues to the right subtree
Which of these is the correct order of operations in inorder traversal?
ALeft, Root, Right
BRoot, Left, Right
CLeft, Right, Root
DRight, Root, Left
Explain how inorder traversal works on a binary tree and why it is important for binary search trees.
Think about the order of visiting nodes and the property of BST.
You got /4 concepts.
    Describe the recursive steps and base case for implementing inorder traversal.
    Focus on the flow of recursion and stopping condition.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the order of nodes visited in an inorder traversal of a binary tree?
      easy
      A. Left subtree, Root, Right subtree
      B. Root, Left subtree, Right subtree
      C. Right subtree, Root, Left subtree
      D. Root, Right subtree, Left subtree

      Solution

      1. Step 1: Understand inorder traversal definition

        Inorder traversal visits nodes in the order: left subtree first, then the root node, and finally the right subtree.
      2. Step 2: Match the traversal order to options

        Left subtree, Root, Right subtree correctly states the order as Left subtree, Root, Right subtree.
      3. Final Answer:

        Left subtree, Root, Right subtree -> Option A
      4. Quick Check:

        Inorder = Left, Root, Right [OK]
      Hint: Inorder always visits left child before root [OK]
      Common Mistakes:
      • Confusing inorder with preorder or postorder
      • Visiting root before left subtree
      • Visiting right subtree before root
      2. Which of the following TypeScript function signatures correctly represents an inorder traversal function for a binary tree node?
      easy
      A. function inorder(node: TreeNode): number[]
      B. function inorder(node: TreeNode | null): void
      C. function inorder(): void
      D. function inorder(node: TreeNode | null): number

      Solution

      1. Step 1: Analyze function parameters and return type

        An inorder traversal function typically takes a node or null as input and performs traversal, often printing or processing nodes without returning a value.
      2. Step 2: Check options for correct signature

        function inorder(node: TreeNode | null): void accepts a node or null and returns void, which fits traversal that prints or processes nodes.
      3. Final Answer:

        function inorder(node: TreeNode | null): void -> Option B
      4. Quick Check:

        Traversal function takes node or null, returns void [OK]
      Hint: Traversal functions usually take node or null, return void [OK]
      Common Mistakes:
      • Omitting null in parameter type
      • Returning incorrect types like number or array
      • Missing parameter in function signature
      3. Given the following binary tree:
          2
         / \
        1   3
      
      What is the output of inorder traversal printing node values?
      medium
      A. [2, 1, 3]
      B. [3, 2, 1]
      C. [1, 3, 2]
      D. [1, 2, 3]

      Solution

      1. Step 1: Visualize the tree and inorder traversal

        Inorder visits left subtree, root, then right subtree. For root 2, left child is 1, right child is 3.
      2. Step 2: List nodes in inorder

        Visit left: 1, then root: 2, then right: 3, so output is [1, 2, 3].
      3. Final Answer:

        [1, 2, 3] -> Option D
      4. Quick Check:

        Inorder of 2-node tree = [1, 2, 3] [OK]
      Hint: Inorder prints nodes sorted for BST [OK]
      Common Mistakes:
      • Printing root before left subtree
      • Swapping left and right subtree order
      • Confusing preorder or postorder output
      4. Consider this TypeScript inorder traversal function:
      function inorder(node: TreeNode | null): void {
        if (node === null) return;
        inorder(node.right);
        console.log(node.val);
        inorder(node.left);
      }

      What is the main problem with this code?
      medium
      A. It prints node values twice
      B. It does not handle null nodes properly
      C. It visits right subtree before left, so traversal order is incorrect
      D. It causes infinite recursion

      Solution

      1. Step 1: Analyze traversal order in code

        The function calls inorder on right subtree first, then prints root, then calls inorder on left subtree.
      2. Step 2: Compare with correct inorder order

        Correct inorder is left subtree, root, right subtree. This code reverses left and right, so order is wrong.
      3. Final Answer:

        It visits right subtree before left, so traversal order is incorrect -> Option C
      4. Quick Check:

        Inorder must visit left before right [OK]
      Hint: Inorder must call left subtree before right [OK]
      Common Mistakes:
      • Swapping left and right subtree calls
      • Forgetting base case for null
      • Printing before recursive calls
      5. You have a binary tree where each node contains a number. You want to collect all node values in an array using inorder traversal. Which TypeScript code snippet correctly implements this?
      hard
      A. function inorder(node: TreeNode | null, arr: number[]): void { if (!node) return; inorder(node.left, arr); arr.push(node.val); inorder(node.right, arr); }
      B. function inorder(node: TreeNode | null, arr: number[]): void { if (!node) return; arr.push(node.val); inorder(node.left, arr); inorder(node.right, arr); }
      C. function inorder(node: TreeNode | null, arr: number[]): void { if (!node) return; inorder(node.right, arr); arr.push(node.val); inorder(node.left, arr); }
      D. function inorder(node: TreeNode | null): number[] { if (!node) return []; return [node.val].concat(inorder(node.left)).concat(inorder(node.right)); }

      Solution

      1. Step 1: Understand inorder traversal with array accumulation

        We must visit left subtree, then root (push value), then right subtree, passing the same array to collect values.
      2. Step 2: Check each option for correct order and array usage

        function inorder(node: TreeNode | null, arr: number[]): void { if (!node) return; inorder(node.left, arr); arr.push(node.val); inorder(node.right, arr); } correctly visits left, pushes root value, then visits right, using the same array.
      3. Final Answer:

        function inorder(node: TreeNode | null, arr: number[]): void { if (!node) return; inorder(node.left, arr); arr.push(node.val); inorder(node.right, arr); } -> Option A
      4. Quick Check:

        Left, root, right with shared array [OK]
      Hint: Push node value after left subtree call [OK]
      Common Mistakes:
      • Pushing before left subtree traversal
      • Swapping left and right subtree calls
      • Returning new arrays instead of using passed array
      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