我今天在leetcode上做了一些编程问题。 我试图解决的问题在此link。python链表超时时间超过
我能解决使用下面的代码的问题:
class Solution(object):
def oddEvenList(self, head):
if not head:
return head
oddPointer = head
evenPointer = head.next
temp = head.next
while evenPointer and evenPointer.next:
oddPointer.next = evenPointer.next
oddPointer = oddPointer.next
evenPointer.next = oddPointer.next
evenPointer = evenPointer.next
oddPointer.next = temp
return head
但是如果我更改为下面的代码,在线法官给我一个期限超过错误。我想知道这里有什么问题。
class Solution(object):
def oddEvenList(self, head):
if not head:
return head
oddPointer = head
evenPointer = head.next
while evenPointer and evenPointer.next:
oddPointer.next = evenPointer.next
oddPointer = oddPointer.next
evenPointer.next = oddPointer.next
evenPointer = evenPointer.next
oddPointer.next = head.next #this is the change
return head
我记得我可以在Java中做到这一点,但由于某种原因,python不能这样做。
感谢您的回答!我有一个后续问题:在这种情况下,head.next是否还有值? –