翻转链表
给你单链表的头节点 head
,请你反转链表,并返回反转后的链表。
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
输入:head = [1,2]
输出:[2,1]
输入:head = []
输出:[]
Code
public ListNode reverseList(ListNode head) {
//last指向上一个节点
ListNode last=null;
//pre指向下一个遍历的节点
ListNode pre=null;
while (head!=null){
//用pre保存下一个head节点移动的位置
pre=head.next;
//将链表中的节点进行逆转
head.next=last;
//last往前跳一步
last=head;
//head往前挑一步
head=pre;
}
return last;
}