为什么我的反向链表只有return个头?
Why does my reverse linked list only return head?
我在做reverse a linked list leetcode问题:Reverse a single linked list。
但是我的代码只有 returns 头部,尽管我认为头部通过以下方式与其下一个节点链接:
pre = curr.next
下面是我的代码。我很难弄清楚问题出在哪里。感谢您的帮助!!
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if head == None:
return head
pre, curr, post = None, head, head.next
while post:
pre = curr.next
pre, curr, post = curr, post, post.next
pre = curr.next
return curr
在链表中,节点使用 next 变量连接(在 leetcode 中给出)。你所做的只是简单的向前推进,并没有扭转他们之间的关系。
你应该做的是
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if head == None:
return head
pre, curr, post = None, head, head.next
while post:
curr.next=pre
pre, curr, post = curr, post, post.next
curr.next=pre
return curr
我希望你能看到你错在哪里。代码的手迹总是有助于理解逻辑。
我在做reverse a linked list leetcode问题:Reverse a single linked list。 但是我的代码只有 returns 头部,尽管我认为头部通过以下方式与其下一个节点链接:
pre = curr.next
下面是我的代码。我很难弄清楚问题出在哪里。感谢您的帮助!!
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if head == None:
return head
pre, curr, post = None, head, head.next
while post:
pre = curr.next
pre, curr, post = curr, post, post.next
pre = curr.next
return curr
在链表中,节点使用 next 变量连接(在 leetcode 中给出)。你所做的只是简单的向前推进,并没有扭转他们之间的关系。
你应该做的是
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if head == None:
return head
pre, curr, post = None, head, head.next
while post:
curr.next=pre
pre, curr, post = curr, post, post.next
curr.next=pre
return curr
我希望你能看到你错在哪里。代码的手迹总是有助于理解逻辑。