1) Rearranging a linked list into a spiral linked list
e.g. I/P : 1->2->3->4->5->6->7
O/P : 4->3->5->2->6->1->7
2) Given a list of words , arrange them in such a way that combined they form the word which comes at the end of the dictionary formed by every possible arrangement.
e.g. I/P: ["d" , "fa"]
O/P: ["fa" , "d"]
3) Given a binary tree and linked list , return the path from the root node to a leaf node in which the linked list exists from a leaf node to a root node. It is given that the linked list will exist in the tree in exactly 1 path.