题目
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
思路
初始链表状态
需要定义一个变量last指向pHead的上一个节点
两次迭代之后
x1被脱离出来加入反转的新链,并插入x0之前,pHead再后移
代码
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
ans = None
while head:
tmp = head.next
head.next = ans
ans = head
head = tmp
return ans