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 = ...