strategies to reverse a linked list in JavaScript

后端 未结 6 1356
一个人的身影
一个人的身影 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:34

    ES6 solution: Just keep a track of the reversed list and keep adding that to tmp.

    const reverseLinkedList = (head) => {
      let reversed = null;
      while(head) {
        const tmp = head;
        head = head.next;
        tmp.next = reversed;
        reversed = tmp;
      }
    
      return reversed;
    };
    
    console.log(JSON.stringify(reverseLinkedList({
      data: 1,
      next: {
        data: 2,
        next: {
          data: 3,
          next: {
            data: 4,
            next: {
              data: 5,
              next: {
                data: 5,
                next: {
                  data: 6
                }
              }
            }
          }
        }
      }
    })));
    

提交回复
热议问题