File tree Expand file tree Collapse file tree 1 file changed +96
-0
lines changed
Expand file tree Collapse file tree 1 file changed +96
-0
lines changed Original file line number Diff line number Diff line change 1+ package Binarytree ;
2+
3+ import java .util .ArrayList ;
4+ import java .util .LinkedList ;
5+ import java .util .Queue ;
6+ import java .util .Scanner ;
7+
8+ class Node {
9+ int data ;
10+ Node left ;
11+ Node right ;
12+ Node (int element )
13+ {
14+ this .data = element ;
15+ this .left = this .right = null ;
16+ }
17+ }
18+
19+ class BST {
20+ Node root ;
21+ BST ()
22+ {
23+ root = null ;
24+ }
25+ void addNode (int element )
26+ {
27+ root = add (root ,element );
28+ }
29+ Node add (Node node , int element )
30+ {
31+ if (node == null )
32+ return new Node (element );
33+ if (element <=node .data )
34+ node .left = add (node .left ,element );
35+ else
36+ if (element >node .data )
37+ node .right = add (node .right ,element );
38+
39+ return node ;
40+ }
41+
42+ void inorder (Node root )
43+ {
44+ if (root == null )
45+ return ;
46+ inorder (root .left );
47+ System .out .print (root .data +" " );
48+ inorder (root .right );
49+ }
50+
51+ ArrayList <Integer > leftView (Node node )
52+ {
53+ ArrayList <Integer > al = new ArrayList <>();
54+
55+ Queue <Node > q = new LinkedList <>();
56+ q .add (node );
57+ while (!q .isEmpty ())
58+ {
59+ int n = q .size ();
60+ for (int i =1 ;i <=n ;i ++)
61+ {
62+ Node temp = q .poll ();
63+ if (i ==1 ) {
64+ al .add (temp .data );
65+ }
66+ if (temp .left !=null )
67+ q .add (temp .left );
68+ if (temp .right !=null )
69+ q .add (temp .right );
70+
71+ }
72+ }
73+ return al ;
74+ }
75+ }
76+
77+ public class Left_View {
78+ public static void main (String [] args ) {
79+ Scanner s = new Scanner (System .in );
80+ BST obj = new BST ();
81+
82+ obj .addNode (9 );
83+ obj .addNode (6 );
84+ obj .addNode (5 );
85+ obj .addNode (8 );
86+ obj .addNode (7 );
87+ obj .addNode (13 );
88+ obj .addNode (17 );
89+ obj .addNode (19 );
90+ System .out .println ("Inorder of entered Tree is: " );
91+ obj .inorder (obj .root );
92+ ArrayList <Integer > al = new ArrayList <>();
93+ al = obj .leftView (obj .root );
94+ System .out .println ("\n Left View of this tree is: " +al );
95+ }
96+ }
You can’t perform that action at this time.
0 commit comments