Print Left View of a given binary tree

Objective: In a Binary Tree, print left view of it

Input: A binary tree.

What is left View of a binary Tree

When just look at the tree from the left side , all the nodes you can see will be the left view of the tree.

Example:

Approach:

Method 1:

• Traverse the tree from left to right
• Print the first node you encounter
• Take two variables , currentLevel=0 and nextLevel=1
• As soon as you change level , change the currentLevel = nextLevel
• Print only when current level<nextLevel so this way you will print only the first element
• For rest of the nodes on the the level currentLevel and nextLevel are equal so it wont print

Method 2:

Do the Level order traversal and print the first node value

Complete Code:

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.

 public class LeftViewOfTree { public static int index = 0; public void Method2_levelOrder(Node root) { int h = height(root); for (int i = 1; i <= h; i++) { index = 1; printLevels(root, i); // System.out.println(""); } } public void printLevels(Node root, int h) { if (root == null) return; if (h == 1 && index == 1) { System.out.print(" " + root.data); index++; } else { printLevels(root.left, h – 1); printLevels(root.right, h – 1); } } public static int currentLevel =0; public void leftViewRecur(Node root, int nextLevel){ if(root==null) return; if(currentLevel

Output:

```METHOD 1:
5 10 20 45
METHOD 2 : Using Level Order, Left view
5 10 20 45
```

1 thought on “Print Left View of a given binary tree”

1. Please check the height(Node root) method. I think the base case (root == null) should return -1 instead of 0;