Leaf nodes from Preorder of BST Python
PROGRAM TO FIND LEAF NODES FROM PREORDER OF A BST
OUTPUT:
290 530 965
def
leafNode(preorder, n):
s
=
[]
i
=
0
for
j
in
range
(
1
, n):
found
=
False
if
preorder[i] > preorder[j]:
s.append(preorder[i])
else
:
while
len
(s) !
=
0
:
if
preorder[j] > s[
-
1
]:
s.pop(
-
1
)
found
=
True
else
:
break
if
found:
print
(preorder[i], end
=
" "
)
i
+
=
1
# Since rightmost element is
# always leaf node.
print
(preorder[n
-
1
])
# Driver code
if
__name__
=
=
'__main__'
:
preorder
=
[
890
,
325
,
290
,
530
,
965
]
n
=
len
(preorder)
leafNode(preorder, n)
290 530 965
Comments
Post a Comment