private static LinkedList <T> ReverseList <T>(this LinkedList <T> list, LinkedList <T> reversedList) { var nextReversedList = new LinkedList <T>(list.Data, reversedList); return(list.Next != null?ReverseList(list.Next, nextReversedList) : nextReversedList); }
public static IEnumerable <T> ToEnumerable <T>(this LinkedList <T> list) { return(list ?? Enumerable.Empty <T>()); }
public static LinkedList <T> ReverseList <T>(this LinkedList <T> list) { return(list != null?ReverseList(list, null) : null); }