Do we have to use all the variables? No. The restriction is that you can't use any other variables.
What is LinkedList? Short answer: it's in the Java API.
So decide what you want to do with it, and look through the methods for one(s) that let you do that.
Longer answer: it implements the Java API List interface. It and ArrayList are two
implementations with different space and time efficiency (exactly what we've been using interfaces for
with queues and stacks), so you can treat it the same way you've been treating ArrayList in
the lab and A1. If you didn't understand the significance of interfaces vs classes in E4, this is another
opportunity: in the copying methods, why do we use an interface for the parameter, but a class for the return value and type?
Actually, the return type could be just List, and that might be better, but is not as important as using the interface to specify the parameter: why?
How will the exercise be marked? Each method will be automarked separately, and checked to make sure the internal rules were followed.
But make sure the whole class you submit compiles: either remove the methods you couldn't do, or have them return dummy values
(easiest for you might be null if returning a reference).
We'll test the empty case, and a typical case. This is pretty standard testing, but more importantly corresponds to the two parts you fill in.
I don't see any other possiblities for part marks: each "FILL THIS IN" requires no more than a few lines of code, and you either understand it or are guessing.