给你单链表的头节点 head
,请你反转链表,并返回反转后的链表。
示例 1:
输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1]
示例 2:
输入:head = [1,2] 输出:[2,1]
示例 3:
输入:head = [] 输出:[]
思路
遍历过去就行,保存下一个节点地址。
代码
class Solution {
public:
ListNode* reverseList(ListNode* head) {
if(head == nullptr)
return head;
ListNode* node = head;
ListNode* last = nullptr;
while(node != nullptr)
{
ListNode* save = node->next;
node->next = last;
last = node;
node = save;
}
return last;
}
};