剑指Offer打卡24.反转链表

Posted 余光、

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer打卡24.反转链表相关的知识,希望对你有一定的参考价值。

剑指Offer 24.反转链表

JavaScript剑指Offer题解

🚀包含数组、对象、链表、堆栈、树等经典题型
☕️每天一道,轻松不累
💬详细的题目解析,收藏方便阅读
🙏在线star地址

在线阅读地址

在线阅读地址

题目描述

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

示例:

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

题解一:遍历

思路

  1. 暂存next节点,防止丢失
  2. 创建前置节点,并修改当前节点的指向
  3. 更新前置节点、当前节点
var reverseList = function(head) {
    let cur = head;
    let prev = null; // 前置节点(新的尾节点)
    while(cur){
        let temp = cur.next; //  承接下一个节点
        cur.next = prev; // 反转方向
        prev = cur; // 更新尾节点
        cur = temp; // 更新当前节点
    }
    return prev;
};

写在最后

本篇是剑指Offer的第16题,俗话说好的合理的数据结构+算法才是写好代码的关键,不妨跟我一起来吧~

热门开源项目

以上是关于剑指Offer打卡24.反转链表的主要内容,如果未能解决你的问题,请参考以下文章

乱序版 ● 剑指offer每日算法题打卡题解—— 字符串和链表(题号5,24,35,58)

《剑指Offer——24. 反转链表》代码

剑指 Offer 24. 反转链表

LeetCode(剑指 Offer)- 24. 反转链表

LeetCode(剑指 Offer)- 24. 反转链表

剑指Offer-代码的鲁棒性面试题24:反转链表