Given a Binary Tree, print Left view of it. Left view of a Binary Tree is set of nodes visible when tree is visited from Left side. The task is to complete the function leftView(), which accepts root of the tree as argument.
Left view of following tree is 1 2 4 8.
1
/ \
2 3
/ \ / \
4 5 6 7
\
8
Solution :
/* A Binary Tree node
class Node
{
int data;
Node left, right;
Node(int item)
{
data = item;
left = right = null;
}
}*/
class Tree
{
//Function to return list containing elements of left view of binary tree.
int max = Integer.MIN_VALUE;
ArrayList<Integer> leftView(Node root)
{
// Your code here
ArrayList<Integer> list = new ArrayList<>();
leftViewU(root,list,0);
return list;
}
public void leftViewU(Node node,List<Integer> list,int current){
if(node == null) return;
if(current>max){
list.add(node.data);
max = current;
}
leftViewU(node.left,list,current+1);
leftViewU(node.right,list,current+1);
}
}
Top comments (0)