find メソッドを再帰的に記述する必要があり、x を見つけようとして見つけたときに、x をリンクされたリストの先頭に移動する必要があります。
たとえば、リストが head --> 15 --> 20 --> 5 --> 10 の場合
find(5) を実行すると、リストは head --> 5 --> 15 --> 20 --> 10 になります。
private boolean find (int x)
{
Node pointer = head;
int i = 0;
while(pointer != null)
{
if( pointer.data != x)
{
pointer = pointer.next;
find(x);
}
else
{
return true;
}
}
}