题目要求
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
我的解题思路
我的思路缺点
网友解题思路
新建一个头结点,将所有的原链表节点从头到尾逐一取下,采用头插法插入整个链表到新建节点之前,则完成了链表逆序的目的。
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
new_head = None #新建一个头节点
while head :
tmp = head.next # 备份原来head节点的next地址
head.next = new_head #将原链表第一个节点后指针取下指向新建头节点
new_head = head #将new_head指针指向现在头节点
head = tmp #将原链表中头节点指针后移
return new_head