Given a singly linked list of integers, determine if the linked list is a palindrome or not.
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.
Given an array of distinct integers, shuffle an array according to the given order of elements.
Given a doubly linked list, sort it using merge sort algorithm.
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.
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.
Given a distinct sequence of keys, check if it can represent a preorder traversal of a binary search tree (BST).
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.
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.
In this post, we will see how to reverse a doubly linked list using iteration and recursion.
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.
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.