In this post, we will see how to implement a queue using stack data structure in C++ and Java. In other words, design a queue that supports enqueue and dequeue operations using standard push and pop operations of the stack.
Write an efficient algorithm to find preorder traversal of a binary tree from its inorder and postorder sequence without constructing the tree.
Find all N-digit numbers with equal sum of digits at even and odd index. N varies from [1 to 9].
Calculate total number of ways to achieve given sum with n throws of dice having k faces.
Given a binary search tree, modify it such that every key is updated to contain sum of all greater keys present in BST.
Given a binary tree that is only one swap away from becoming a BST, convert the binary tree into BST in single traversal of it.
Given a binary tree, write an efficient algorithm to find maximum sum path between any two leaves in it.
Given a binary tree, write an efficient algorithm to find all nodes present at given distance from any leaf node. We need to find only those nodes that are present in root-to-leaf path for that leaf.
Given a positive integer n, print all combination of numbers from 1 to n having sum n.
Given a binary tree, count all subtrees in it such that every node in the subtree have same value.
Given a BST, find inorder successor of a given key in it. If the given key do not lie in the BST, then return the next greater key (if any) present in the BST.
Write a program to count number of ways to calculate a target number from elements of specified array by using only addition and subtraction operator. The use of any other operator is forbidden.