@@ -88,3 +88,79 @@ int main()
88
88
getchar ();
89
89
return 0 ;
90
90
}
91
+
92
+ //Solved by CH. Lakshmi Sowjanya, IT
93
+
94
+ #include <stdio.h>
95
+ #include <stdlib.h>
96
+ struct node
97
+ {
98
+ int data ;
99
+ struct node * left ;
100
+ struct node * right ;
101
+ };
102
+ void printGivenLevel (struct node * root , int level );
103
+ int height (struct node * node );
104
+ struct node * newNode (int data );
105
+ void printLevelOrder (struct node * root )
106
+ {
107
+ int h = height (root );
108
+ int i ;
109
+ for (i = 1 ; i <=h ; i ++ )
110
+ printGivenLevel (root , i );
111
+ }
112
+ void printGivenLevel (struct node * root , int level )
113
+ {
114
+ if (root == NULL )
115
+ return ;
116
+ if (level == 1 )
117
+ printf ("%d " , root -> data );
118
+ else if (level > 1 )
119
+ {
120
+ printGivenLevel (root -> left , level - 1 );
121
+ printGivenLevel (root -> right , level - 1 );
122
+ }
123
+ }
124
+
125
+ int height (struct node * node )
126
+ {
127
+ if (node == NULL )
128
+ return 0 ;
129
+ else
130
+ {
131
+
132
+ int lheight = height (node -> left );
133
+ int rheight = height (node -> right );
134
+
135
+
136
+ if (lheight > rheight )
137
+ return (lheight + 1 );
138
+ else return (rheight + 1 );
139
+ }
140
+ }
141
+
142
+ struct node * newNode (int data )
143
+ {
144
+ struct node * node = (struct node * )
145
+ malloc (sizeof (struct node ));
146
+ node -> data = data ;
147
+ node -> left = NULL ;
148
+ node -> right = NULL ;
149
+
150
+ return (node );
151
+ }
152
+
153
+ int main ()
154
+ {
155
+ struct node * root = newNode (1 );
156
+ root -> left = newNode (2 );
157
+ root -> right = newNode (3 );
158
+ root -> left -> left = newNode (4 );
159
+ root -> left -> right = newNode (5 );
160
+
161
+ printf ("Level Order traversal of binary tree is \n" );
162
+ printLevelOrder (root );
163
+
164
+ getchar ();
165
+ return 0 ;
166
+ }
0 commit comments