If you have written a method that works perfectly for an array.... what about... calling it?
Yes, a method can call itself (look up recursion, but be careful - it can take a while - according to one of the three jokes we have in computer science)!
So something like
List<int> DoStuff(List<int> input)
{
if (input.Length > 2)
{
List<int> next = ...
return DoStuff(next);
}
return input;
}