Reversing single linked list in C#

后端 未结 13 915
说谎
说谎 2020-12-07 17:02

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         


        
13条回答
  •  广开言路
    2020-12-07 17:40

    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;
    

提交回复
热议问题