/**
* 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) {
//前置节点 只想head 前面null得位置
ListNode prev =null;
//当前节点 初始位置只想head
ListNode now = head;
//终止条件是now当前位置为null 说明prev前置节点为head
while(now!=null){
//临时节点 指向当前节点的下一节点 因为当前节点的next因为反转被覆盖
ListNode temp =now.next;
//当前指针指向前置节点即null
now.next=prev;
//将指针后移
prev =now;
now=temp;
}
//返回头节点 现在 prev是头节点 now 是null
return prev;
}
}
单链表反转(快慢指针法)
最新推荐文章于 2022-07-26 10:46:00 发布