反转链表

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。(来自——剑指 Offer 24. 反转链表

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

解法:利用双指针改变指针的指向即可

let reverseList = function(head) {
  let pre = null, cur = head, temp;
  while (cur) {
    temp = cur.next; // 因为要改变指针的指向,所以要事先保存要改变的指针
    cur.next = pre;
    pre = cur;
    cur = temp;
  }
  return pre;
};



评论(0)

评论