## Implement two stacks in a single array

In this post, we will discuss how to efficiently implement two stacks in a single array.

## Recursive solution to sort a stack

Given a stack, sort it using recursion. The use of any other data structures (like containers in STL or Collections in Java) is not allowed.

## Implement a Queue using Stack Data Structure

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.

## Find preorder traversal of a binary tree from its inorder and postorder sequence

Write an efficient algorithm to find preorder traversal of a binary tree from its inorder and postorder sequence without constructing the tree.

## Design a stack which returns minimum element in constant time

Design a stack to support an additional operation which returns the minimum element from the stack in constant time. The stack should continue supporting all other operations like push, pop, top, size, empty, etc, with no degrade in performance for these operations.

## Find length of the longest balanced parenthesis in a string

Given a string consisting of opening and closing parenthesis, find the length of the longest balanced parenthesis in it.

## Reverse an array in C++

In this post, we will see how to reverse an array in C++.

## Print Right View of a Binary Tree

Given a binary tree, write an efficient algorithm to print right view of given binary tree.

## Reverse a string using stack data structure

In this post, we will discuss how to reverse a string using stack data structure.

## Design a stack which returns minimum element without using auxiliary stack

Design a stack to support an additional operation which returns the minimum element from the stack in constant time. The stack should continue supporting all other operations like push, pop, top, size, empty, etc, with no degrade in performance for these operations.

## Print leaf to root path for every leaf node in a binary tree

Given a binary tree, write an iterative algorithm to print leaf to root path for every leaf node of binary tree. Use of Recursion is prohibited.

## Invert Binary Tree | Recursive and Iterative solution

Given a binary tree, write an efficient algorithm to invert binary tree.