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个一组翻转链表”的求解思路与算法示例