Leaf nodes from Preorder of BST Java
PROGRAM TO FIND LEAF NODES FROM PREORDER OF A BST
OUTPUT:
290 530 965
import java.util.*;class MAIN { // Print the leaf node from the given preorder of BST. static void leafNode(int preorder[], int n) { Stack<Integer> s = new Stack<Integer> (); for (int i = 0, j = 1; j < n; i++, j++) { boolean found = false; if (preorder[i] > preorder[j]) s.push(preorder[i]); else { while (!s.isEmpty()) { if (preorder[j] > s.peek()) { s.pop(); found = true; } else break; } } if (found) System.out.print(preorder[i] + " "); } // Since rightmost element is always leaf node. System.out.println(preorder[n - 1]); } // Driver code public static void main(String[] args) { int preorder[] = { 890, 325, 290, 530, 965 }; int n = preorder.length; leafNode(preorder, n); } } 290 530 965
Comments
Post a Comment