**THIS IS AN IN CLASS EXCERCISE AND WILL NOT DIRECTLY AFFECT YOUR GRADE**

* Your solutions will be evaluated by the TAs to judge your knowledge of the material so please write neatly and keep your solution organized.

Problem #1: Recursively and iteratively create the method public SLL shuffle(SLL list1, SLL list2, int partition). The method will shuffle together (merge) the two lists given. The number of elements to take from each list at a time, will be determined by the partition entered. If one was given, take one element from each at a time, if two, take two elements from the first, then two from the second and so on. As you shuffle, modify list1 so that it becomes the new list to be returned. Do not create a new list with the result, instead use this in place scheme. Create a diagram which displays the process of shuffle (show all of your steps).

Problem #2: Recursively and iteratively create the method public SLL shuffle(SLL list1, SLL list2, int partition). The method will shuffle together (merge) the two lists given. The number of elements to take from each list at a time, will be determined by the partition entered. If one was given, take one element from each at a time, if two, take two elements from the first, then two from the second and so on. Shuffle the two lists into a new SLL and return the new list created. Create a diagram which displays the process of shuffle (show all of your steps).

Problem #3: Recursively and iteratively create the method public void removeDuplicates(SLL list). The method will search the list and remove any duplicate data values. Create a diagram which displays the process of removing the duplicates (show all of your steps).