给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
示例 1:
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
示例 2:
输入:head = [1,2]
输出:[2,1]
示例 3:
输入:head = []
输出:[]
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-linked-list/
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
# 遍历head,将各节点逐个取出并更改其next值即可
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
res = None # 初始化最终结果尾结点
while head:
res, res.next, head = head, res, head.next # 将遍历到的结点的next值改为最终结果中第一个结点,始终保持最终结果的尾结点为0,每遍历一次就从head中去掉一个元素
return res