Java 求解翻转链表

Posted 南淮北安

tags:

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

一、题目

翻转一个单链表

二、左右指针


所以不用浪费空间,可以直接改变链表的next指针的指向,就可以直接实现链表的翻转

使用两个指针,一个用于遍历整个链表,一个用于记录翻转

三、代码

class Solution {
    public ListNode reverseList(ListNode head) {
        //当前节点,用于遍历整个链表
        ListNode cur = head;
        //用于记录翻转后的节点
        ListNode pre = null;
        ListNode temp = null;
        while (cur != null) {
            //记录将要遍历的下一个节点
            temp = cur.next;
            //开始翻转
            cur.next = pre;
            pre = cur;
            //继续向后遍历
            cur = temp;
        }
        return pre;
    }
}

四、总结

该题是对双指针的应用,遍历过程中直接翻转链表

以上是关于Java 求解翻转链表的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法之深入解析“K个一组翻转链表”的求解思路与算法示例

片段(Java) | 机试题+算法思路+考点+代码解析 2023

Java 单向链表翻转

Java 求解翻转二叉树

链表的翻转(java)

Java 单向链表翻转