解法1:头结点插入
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
res=ListNode(-1)
p=head
while p:
cur=p.next
p.next=res.next
res.next=p
p=cur
return res.next
解法2:原地反转:
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
res=ListNode(-1)
res.next=head
p=head
if not head:
return res.next
pnext=p.next#pnext指向要移动的节点
while p.next:
p.next=pnext.next
pnext.next=res.next
res.next=pnext
pnext=p.next
return res.next