基于Python实现2种反转链表方法代码实例

Nimat ·
更新时间:2024-09-20
· 698 次阅读

题目:

反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL

输出: 5->4->3->2->1->NULL

进阶:

你可以迭代或递归地反转链表。你能否用两种方法解决这道题?

思路:

主要需要注意反转过程中不要丢了节点。可以使用两个指针,也可以使用三个指针。

Python解法一:

class Solution: def reverseList(self, head): cur, prev = head, None while cur: temp = cur.next cur.next = prev prev = cur cur = temp return prev

Python解法二:

class Solution: def reverseList(self, head): if head == None or head.next == None: return head prev = None cur = head post = head.next while post: cur.next = prev prev = cur cur = post post = post.next cur.next = prev return cur 您可能感兴趣的文章:python无序链表删除重复项的方法python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】python实现单链表中删除倒数第K个节点的方法Python实现针对给定单链表删除指定节点的方法Python实现链表反转的方法分析【迭代法与递归法】Python单链表原理与实现方法详解基于python实现从尾到头打印链表基于Python和C++实现删除链表的节点



反转 链表 Python 方法

需要 登录 后方可回复, 如果你还没有账号请 注册新账号