BTW: If the your main concern with your method, is the time taken to perform the reverses, don't even consider it unless your list is huge. Reverse is a particularly efficient operation. 1000 items take a just 2/10s of a millisecond: