题目:
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
分析:
最后我们用p来返回反转的链表,需要两个辅助的节点,一个是cur来依次得到原链表的值,另一个是t来存储cur的下一个节点,使得在cur赋给p的时候还能找到在原链表上的位置。具体看代码实现。
题解:
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
p = None
cur = head
while cur:
t = cur.next
cur.next = p
p = cur
cur = t
return p