【发布时间】:2019-12-06 21:29:00
【问题描述】:
作为一个链表数据结构的学习者,我正在练习 Leetcode 问题“反向链表”,我有自己的解决方案,但不知道为什么会出错,有没有高手可以分享一些关于它的指导?真的很感激!
Leetcode 问题:
反转单链表。
例子:
输入:1->2->3->4->5->NULL
输出:5->4->3->2->1->NULL
我的代码:
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
prev = None
while head:
temp = head
temp.next = prev
head = head.next
prev = temp
return prev
但是,上述解决方案是错误的,但可以通过在“temp.next = prev”和“head = head.next”之间切换位置来纠正,如下所示:
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
prev = None
while head:
temp = head
head = head.next
temp.next = prev
prev = temp
return prev
对我来说,这两个语句切换与否没有区别,为什么它们不一样?
【问题讨论】:
标签: python linked-list