给定单链表的头节点 head
,请反转链表,并返回反转后的链表的头节点。
示例:
输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1]
class Solution {
public ListNode reverseList(ListNode head) {
ListNode cur = head;
ListNode newhead = null;
while(cur != null){
//先把当前节点的下一个节点存到next
ListNode next = cur.next;
//另当前节点的下一个节点为当前新链表的头结点newhead
cur.next = newhead;
//让新链表的头结点前移到当前节点
newhead = cur;
//让当前节点等于旧链表的下一个节点
cur = next;
}
return newhead;
}
}