反转python中的链表
我被要求反转一个以head为参数的参数,其中head是一个链表,例如:1-> 2->
3这是从已经定义的函数返回的,我试图以这种方式实现函数reverse_linked_list:
def reverse_linked_list(head):
temp = head
head = None
temp1 = temp.next
temp2 = temp1.next
temp1.next = None
temp2.next = temp1
temp1.next = temp
return temp2
class Node(object):
def __init__(self,value=None):
self.value = value
self.next = None
def to_linked_list(plist):
head = None
prev = None
for element in plist:
node = Node(element)
if not head:
head = node
else:
prev.next = node
prev = node
return head
def from_linked_list(head):
result = []
counter = 0
while head and counter < 100: # tests don't use more than 100 nodes, so bail if you loop 100 times.
result.append(head.value)
head = head.next
counter += 1
return result
def check_reversal(input):
head = to_linked_list(input)
result = reverse_linked_list(head)
assert list(reversed(input)) == from_linked_list(result)
称为:check_reversal([1,2,3])
。我编写的用于反转列表的函数具有给定的功能,[3,2,1,2,1,2,1,2,1]
并且仅适用于长度为3的列表。如何将其概括为长度为列表的n
?
-
U可以使用mod函数获取每次迭代的余数,并且显然可以帮助反转列表。我想你是R和D团的学生
head=None prev=None for i in range(len): node=Node(number%10) if not head: head=node else: prev.next=node prev=node number=number/10 return head
-
反转链表
2022-03-03 关注 0 浏览41 1答案
-
递归地反转Java中的链表
2021-02-02 关注 0 浏览127 1答案
-
反转链表
2021-10-21 关注 0 浏览80 1答案
-
链表反转
2022-03-03 关注 0 浏览28 1答案
-
如下代码是实现反转链表的一部分代码:反转链表为:输入一个链表的头节点,反转...
2022-03-02 关注 0 浏览39 1答案
-
单向链表的反转
2021-10-21 关注 0 浏览159 1答案
-
如何反转单链表
2020-01-28 关注 0 浏览444 1答案
-
请你手写链表反转
2020-01-30 关注 0 浏览412 1答案
-
手写代码:反转链表
2020-01-30 关注 0 浏览371 1答案
-
反复反转单个链表
2021-01-30 关注 0 浏览133 1答案