我是靠谱客的博主 热情棒棒糖,这篇文章主要介绍反转链表:双指针法,现在分享给大家,希望可以做个参考。

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

指针:快慢指针

pre指向前一个节点,cur指向当前节点,temp用于保存当前节点的下一个节点

/**
* Definition for singly-linked list.
* public class ListNode {
*
int val;
*
ListNode next;
*
ListNode() {}
*
ListNode(int val) { this.val = val; }
*
ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
ListNode prev = null;
ListNode cur = head;
ListNode temp = null;
while(cur!=null){
//保存下一个节点
temp = cur.next;
//调整指针方向
cur.next=prev;
//将pre和cur指针前移;
prev=cur;
cur=temp;
}
return prev;
}
}

最后

以上就是热情棒棒糖最近收集整理的关于反转链表:双指针法的全部内容,更多相关反转链表内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部