我是靠谱客的博主 热情棒棒糖,最近开发中收集的这篇文章主要介绍反转链表:双指针法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

给你单链表的头节点 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;
}
}

最后

以上就是热情棒棒糖为你收集整理的反转链表:双指针法的全部内容,希望文章能够帮你解决反转链表:双指针法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部