I am trying to reverse a linked list. This is the code I have come up with:
public static void Reverse(ref Node root) { Node tmp = root; Node n
Complexity O(n+m). Assuming head is the start node:
ListNodes = new List(); Node traverse= root; while(traverse!=null) { Nodes.Add(traverse); traverse = traverse.Next; } int i = Nodes.Count - 1; root = Nodes[i]; for(; i>0; i--) { Nodes[i].Next = Nodes[i-1]; } Nodes[0].Next=null;