**Objective: –** Given a binary tree, Find the deepest left node in it.

**Approach: **

- This approach is very similar to “
**Find the Deepest Node in a Binary Tree”**with little modification. - Take two global variable as “
” and ”*deepestlevel*“.*deepLeftNode* - starting with
=0, Do the inorder traversal and whenever you go down one level ( root.left OR root.right), increase the level by 1.*level* - Keep checking if current node is the
and*left child*, if yes then update the “*deepestlevel < level*” and “*deepestlevel*“.*deepLeftNode* - At the end return “
“, which will the deepest node value.*deepLeftNode* - See the code for better explanation.

**Code:**

**Output**:

Deapest Left child is: 4

**Approach: ** – Without using global variables

We will keep track of the deepest left node and pass it along during recursion. Will take the Result object ( with data and level). See the code below for more understanding.

**Output**:

Deapest Left child is: 18