Level order traversal Line by Line Python
- Get link
- X
- Other Apps
PROGRAM TO PRINT LEVEL ORDER TRAVERSAL LINE BY LINE
class
newNode:
def
__init__(
self
, data):
self
.val
=
data
self
.left
=
None
self
.right
=
None
# Iterative method to do level order traversal
# line by line
def
printLevelOrder(root):
# Base case
if
root
is
None
:
return
# Create an empty queue for level order traversal
q
=
[]
# Enqueue root and initialize height
q.append(root)
while
q:
# nodeCount (queue size) indicates number
# of nodes at current lelvel.
count
=
len
(q)
# Dequeue all nodes of current level and
# Enqueue all nodes of next level
while
count >
0
:
temp
=
q.pop(
0
)
print
(temp.val, end
=
' '
)
if
temp.left:
q.append(temp.left)
if
temp.right:
q.append(temp.right)
count
-
=
1
print
(
' '
)
# Driver Code
root
=
newNode(
1
);
root.left
=
newNode(
2
);
root.right
=
newNode(
3
);
root.left.left
=
newNode(
4
);
root.left.right
=
newNode(
5
);
root.right.right
=
newNode(
6
);
printLevelOrder(root);
OUTPUT:
1 2 3 4 5 6
- Get link
- X
- Other Apps
Comments
Post a Comment