Merge two sorted linked lists from their end

Write a function that takes two lists, each of which is sorted in increasing order, and merges the two together into one list which is in decreasing order and return it. In other words, merge two sorted linked lists from their end.   Get great deals at Amazon

Merge alternate nodes of two linked lists into the first list

Given two linked lists, merge their nodes together into first list by taking nodes alternately between the two lists. If first list runs out, remaining nodes of second list should not be moved.

Find K’th node from the end in a linked list

Given a linked list and a positive integer K, find K’th node from the end in a linked list.

Reverse every group of k nodes in given linked list

Given a linked list, reverse every adjacent group of k nodes in it where k is given positive integer.

Reverse linked list | Recursive Solution

In this post, we will see how to reverse linked list using recursion.

Reverse linked list | Iterative Solution

In this post, we will see how to reverse linked list iteratively without using recursion.

Intersection of two given sorted linked lists

Given two lists sorted in increasing order, create and return a new list representing the intersection of the two lists. The new list should be made with its own memory — the original lists should not be changed.

Merge Sort Algorithm for Singly Linked List

Given a linked list, sort it using merge sort algorithm.     Merge sort algorithm is an efficient, general-purpose sorting algorithm which produces a stable sort, which means that the implementation preserves the input order of equal elements in the sorted output. Merge sort is a comparison sort, i.e. it can sort items of any …

Merge two sorted linked lists into one

Write a function that takes two lists, each of which is sorted in increasing order, and merges the two together into one list which is in increasing order and return it.

Construct a linked list by merging alternate nodes of two given lists

Given two linked lists, merge their nodes together to make one list, taking nodes alternately between the two lists. If either list runs out, all the nodes should be taken from the other list.

Split linked list into two lists where each list containing alternating elements from it

Given a linked list, split its into two lists where each list containing alternating elements from the original list. The elements in the new lists may be in any order.

Move even nodes to the end of the list in reverse order

Rearrange the given linked list such that every even node will be moved to end of the list in reverse order.