美文网首页
【算法】翻转链表

【算法】翻转链表

作者: 尼古拉斯小韭菜 | 来源:发表于2021-12-16 16:07 被阅读0次

假设链表为 1→2→3→∅,我们想要把它改成∅←1←2←3。

在遍历链表时,将当前节点的指针改为指向前一个节点。由于节点没有引用其前一个节点,因此必须事先存储其前一个节点。在更改引用之前,还需要存储后一个节点。最后返回新的头引用。

class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode pre = null;
        ListNode cur = head;
        while(cur != null){
            ListNode next = cur.next;
            cur.next = pre;
            pre = cur;
            cur = next;
        }
        return pre;
    }
}

相关文章

  • 翻转链表算法

    翻转链表的方法有很多,如果是逆序输出链表,并且链表不是特别长的情况可以考虑直接用递归,以压栈的形式输出,然而,很多...

  • 【算法】翻转链表

    假设链表为 1→2→3→∅,我们想要把它改成∅←1←2←3。 在遍历链表时,将当前节点的指针改为指向前一个节点。由...

  • 算法(15)翻转链表

    题目描述 输入一个链表,反转链表后,输出新链表的表头。 思路:就是把原节点的next节点当做头结点,然后将头结点的...

  • ARTS 20201208-1215

    Algorithm: 每周至少做一个 LeetCode 的算法题算法题:1 剑指 offer 24: 翻转链表递归...

  • 算法题面试复习

    算法模块 1. 链表 1. 链表翻转 2. 单链表判断是不是环+求环位置+求环长度 以图片为例,假设环入口距离链表...

  • 算法(5)- 链表一【翻转链表】

    说在前面: 1、链表不支持随机的访问元素,需从头一次遍历到要访问的节点。2、思路(1)设立头结点。(2)借助辅助指...

  • 54.算法->k个一组翻转链表

    day6:算法-> 25. K 个一组翻转链表[https://leetcode-cn.com/problems/...

  • 牛客网高频算法题系列-BM3-链表中的节点每k个一组翻转

    牛客网高频算法题系列-BM3-链表中的节点每k个一组翻转 题目描述 将给出的链表中的节点每 k 个一组翻转,返回翻...

  • 翻转链表

    翻转链表 描述翻转一个链表 样例给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->nul...

  • 25. K 个一组翻转链表

    K个一组反转链表 翻转链表给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它...

网友评论

      本文标题:【算法】翻转链表

      本文链接:https://www.haomeiwen.com/subject/lpevfrtx.html