单链表的反转

发布于 2022-06-02 13:26:13 字数 761 浏览 998 评论 0

输入一个链表,反转链表后,输出链表的所有元素。

思路:从表头向后进行迭代,每次迭代时,将当前迭代的元素缓存起来(放在一个变量中),往后迭代时把上次缓存的结果放到当前迭代元素的下一个结点元素中(next)。(第一次迭代时的下一个结点元素为 null ,也就是反转后的链表尾部结点)

如下图:

function reverse(node) {
    let next;
    let pre = null; // 上一次迭代的结果 初始值为 null

    while(node) {
        let next = node.next;
        node.next = pre; // reverse
        pre = node; // 每次迭代的结果
        node = next;
    }
    return pre;
}
reverse({val:1});
reverse({val:1,next:{val:2,next: {val:3}}})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文