定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
# 遍历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