Strategien zur Umkehrung einer verknüpften Liste in JavaScript

Ich gerade kämpfte sich durch eine einfache interview-Frage: Bitte Rückseite eine einfach verknüpfte Liste.

Während ich versäumt, eine Arbeit in der Zeit zu beantworten, um speichern Sie das interview, ich war in der Lage zu kommen mit einer Lösung danach.

Ist meine Lösung korrekt? Wie würden Sie analysieren diese mit der Big-Oh? Gibt es noch effizientere Möglichkeiten für das reverse eine einfach verknüpfte Liste?

//reverse a linked list

var reverseLinkedList = function(linkedlist) {
  var node = linkedlist;
  var previous = null;

  while(node) {
    //reverse pointer
    node.next = previous;
    //increment previous to current node
    previous = node;
    //increment node to next node
    if (node.next){
      node = node.next
    } else {
      node = null;
    }
  }
}

Hinweis: auf meiner Suche nach ähnlichen Beiträgen, das habe ich ein Beispiel in JavaScript. Ich Frage mich, ob mein code ist möglich (ohne temp variable). Danke.

InformationsquelleAutor user2954463 | 2014-04-24

Schreibe einen Kommentar