Q2: Remove duplicates from an unsorted linked list.
Q3: Detect cycles in an undirected graph.
Q4: Write a linked list class along with append function (add node to the end) and destructor function.
Q5: Given two numbers in the form of a singly linked list in such a way that the most significant bit is at the end (e.g., 123 will be 1 -> 2 -> 3), write a function that takes arguments as pointers to the head of the lists and returns pointer to the head of another linked list which represents the added number.
Q6: Add two numbers represented as lists (similar to the above question) such that the most significant bit is at the tail.
Q7: Find the pairs with a given sum in a doubly linked list.
Q8: Given a string, find its first non-repeating character.
Q9: Trie data structure (insertion, search).
Q10: k''th non-repeating character in a string.
Q11: How to implement a search engine?
Q12: Given a text file, find the positions that the word occurs in the file (you have to find positions of many words in the same file).