算法面试题---反转链表

算法面试题---反转链表_第1张图片


文章目录

  • 一 反转链表
    • 分析:
    • 画图展示
    • 代码展示

一 反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
算法面试题---反转链表_第2张图片

分析:

先让pre指向前驱节点None
cur指向头节点
temp指向头节点的下一个节点cur.next(如果不指定temp节点,通过cur.next=pre后,后面的链表没法表示)
temp=cur.next
cur.next=pre
pre=cur
cur=temp

画图展示

算法面试题---反转链表_第3张图片

代码展示

class Solution(object):
    def lengthLongest(self,head):
        pre=None
        cur=head
        while cur:
            temp=cur.next
            cur.next=pre
            pre=cur
            cur=temp
        return pre



solution=Solution()
head=[1,2,3,4,5]
res=solution.lengthLongest(head)
print(res)

你可能感兴趣的:(数据结构与算法,链表,算法,数据结构)