AcWing 35. 反转链表
原题链接
简单
作者:
梦想黑洞
,
2020-10-23 17:49:35
,
所有人可见
,
阅读 333
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
// pre是当前节点的前驱节点,初始值为null
ListNode pre=null;
// 从头结点开始遍历链表
while(head!=null){
ListNode t=head.next;
//当前节点的next指向前驱节点(当前节点是头结点时,他的next指向null)
head.next=pre;
//遍历下一个节点时,将pre置为当前节点
pre=head;
//当前节点接着向后遍历
// 注:不能直接写成head=head.next,因为head.next的值已经改变了,所以需要在刚开始循环的时候用临时变量存储起来。
head=t;
}
return pre;
}
}