- 一、题目
- 二、左右指针
- 三、代码
- 四、总结
翻转一个单链表
所以不用浪费空间,可以直接改变链表的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;
}
}
四、总结
该题是对双指针的应用,遍历过程中直接翻转链表



