strategies to reverse a linked list in JavaScript

后端 未结 6 1358
一个人的身影
一个人的身影 2020-12-13 20:23

I just struggled through a simple interview question: Please reverse a singly linked list.

While I failed to provide a working answer in time to save the interview,

6条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-13 20:44

    There are a couple of problems with your code. This should make it clear.

    // reverse a linked list  
    var reverseLinkedList = function(linkedlist) {
      var node = linkedlist;
      var previous = null;
    
      while(node) {
        // save next or you lose it!!!
        var save = node.next;
        // reverse pointer
        node.next = previous;
        // increment previous to current node
        previous = node;
        // increment node to next node or null at end of list
        node = save;
      }
      return previous;   // Change the list head !!!
    }
    linkedlist = reverseLinkedList(linkedlist);
    

提交回复
热议问题