## Determine if a given linked list is a palindrome or not

Given a singly linked list of integers, determine if the linked list is a palindrome or not.

## Construct a full binary tree from preorder sequence with leaf node information

Write an efficient algorithm to construct a full binary tree from a sequence of keys representing preorder traversal, and a boolean array which determines if the corresponding key in the preorder traversal is a leaf node or an internal node.

## Shuffle an array according to the given order of elements

Given an array of distinct integers, shuffle an array according to the given order of elements.

## Sort a Doubly Linked List using Merge Sort

Given a doubly linked list, sort it using merge sort algorithm.

## Activity Selection Problem using Dynamic Programming

Given a set of activities and the starting & finishing time of each activity, find the maximum number of activities that can be performed by a single person assuming that a person can only work on a single activity at a time.

## Find a sorted triplet in the given array

Given an array A[] of integers, efficiently find a sorted triplet such that A[i] < A[j] < A[k] and 0 < = i < j < k < n where n is the size of the array.

## Check if a given sequence represents preorder traversal of a BST

Given a distinct sequence of keys, check if it can represent a preorder traversal of a binary search tree (BST).

## Convert a Ternary Tree to a Doubly Linked List

Write an efficient algorithm to convert a ternary tree into a doubly linked list. A ternary tree is a tree data structure in which each node has at most three child nodes distinguished as left, mid and right.

## Find total ways to reach the n’th stair with at-most m steps

Given a stair case, find total number of ways to reach the n’th stair from bottom of the stair when a person is only allowed to take at-most m steps at a time.

## Reverse a Doubly Linked List

In this post, we will see how to reverse a doubly linked list using iteration and recursion.

## Construct a full binary tree from a preorder and postorder sequence

A full binary tree is a tree in which every node has either 0 or 2 children. Write an efficient algorithm to construct a full binary tree from given preorder and postorder sequence.

## Find number of ways to fill a N x 4 matrix with 1 x 4 tiles

Given a n x 4 matrix where n is a positive number, find number of ways to fill the matrix with 1 x 4 tiles.