给单链表的头节点 head ,请你反转链表,并返回反转后的链表。
解题思路
通俗来讲,就是将常规指针往后指向的,反过来,往前指向。
这张图片有点强哦,简单说就是将图中箭头左往右指变成从右往左指,所以就是当前节点(curr)的下个节点(curr->next)连接到前一个节点(prev)
当前节点的下一个节点(next=curr->next)赋值为当前节点(curr),当前节点(curr)为前一个节点(prev0)如图所示:
代码如下
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
pre,curr = None,head
while curr is not None:
next = curr.next
curr.next = pre
pre = curr
curr =next
return pre