## Print nodes of a given binary tree in vertical order

Given a binary tree, print its nodes in vertical order. Assume that the left and right child of a node makes 45 degree angle with the parent.

## Link nodes present in each level of a binary tree in the form of a linked list

Given a binary tree, write an efficient algorithm to link nodes at the same level in the form of a linked list like structure.

Given a multilevel linked list, convert it into a singly linked list in such a way that all nodes of first level appears first, followed by all nodes of second level, and so on. The multilevel linked list is similar to the simple linked list except that it has one extra field which points to …

## Rearrange a Linked List by Separating Odd Nodes from the Even Ones

Given a linked list, rearrange it by separating odd nodes from even ones. All even nodes should come before all odd nodes in the output list and the relative order of even and odd nodes should be maintained.

## In-place merge two sorted linked lists without modifying links of the first list

Given two sorted linked lists, merge them without using extra space and without modifying links of the first list. The solution should preserve the sorted order of elements in both lists.

## Construct a Height-Balanced BST from a Sorted Doubly Linked List

Given a sorted Doubly Linked List, in-place convert it into a height-balanced Binary Search Tree (BST). The difference between the height of the left and right subtree for every node of a height-balanced BST is never greater than 1.

## Linked List Implementation in Java

We know that LinkedList class in Java is a doubly-linked list implementation of the List interface. This post provides an overview common techniques to manually implement a linked list in Java programming language.

## XOR Linked List: Overview and Implementation in C/C++

In this post, we will discuss about XOR linked list which is used to reduce memory requirements of a doubly linked lists using bitwise XOR operator.

## Remove duplicates from a linked list in single traversal

Given an unsorted linked list, write a function which deletes any duplicate nodes from the list by traversing the list only once.

## Rearrange the linked list so that it has alternating high, low values

Given an linked list of integers, rearrange it such that every second node of the linked list is greater than its left and right nodes. In other words, rearrange linked list node in alternating high-low.

## ArrayList vs LinkedList in Java

In this post, we will discuss the differences between ArrayList and LinkedList in Java.

## Sort linked list containing 0’s, 1’s and 2’s in single traversal

Given a linked list containing 0’s, 1’s and 2’s, sort linked list by doing single traversal of it.