python链表反转

python链表反转,第1张

概述题目思路题目的重点是:实现把一个结点直接插在头结点之前。直接去插入实现起来很复杂,而且删除结点也比较麻烦,于是先设定一个空指针rev=None,通过遍历链表一步步插入。代码#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,x):# 题目

思路

题目的重点是:实现把一个结点直接插在头结点之前。直接去插入实现起来很复杂,而且删除结点也比较麻烦,于是先设定一个空指针rev = None,通过遍历链表一步步插入。

代码
# DeFinition for singly-linked List.# class ListNode:#     def __init__(self, x):#         self.val = x#         self.next = Noneclass Solution:    def reverseList(self, head: ListNode) -> ListNode:		rev = None		while head:			rev,rev.next,head = head,rev,head.next		return rev#循环里的交换语句在交换时不影响其他交换的值,另一种写法如下# DeFinition for singly-linked List.# class ListNode:#     def __init__(self, x):#         self.val = x#         self.next = Noneclass Solution:    def reverseList(self, head: ListNode) -> ListNode:        rev = None        while head:            new = rev            rev = head            head = head.next            rev.next = new        return rev
总结

以上是内存溢出为你收集整理的python链表反转全部内容,希望文章能够帮你解决python链表反转所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1185247.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存