我有这样一个LinkedList
给定的链表:1-> 2-> 3-> 4-> 5,
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
然后必须手动构建LinkedList。
head = ListNode(1)
node1 = ListNode(2)
node2 = ListNode(3)
node3 = ListNode(4)
node4 = ListNode(5)
head.next = node1
node1.next = node2
node2.next = node3
node3.next = node4
node4.next = None
是否可以自动化该过程,例如
for i in range(1, 6):
node(i-1) = ListNode(i) #made up the node(i-1)
您可以通过以下方式将可迭代对象转换list
为LinkedList:
def generate_linked_list(nums):
cur = dummy = ListNode(0)
for num in nums:
cur.next = ListNode(num)
cur = cur.next
return dummy.next
dummy
节点用于nums
空的情况。
或self
不使用dummy
节点的技巧性使用(如果它是类函数):
class LinkedList:
def generate_linked_list(self, nums):
cur = self
for num in nums:
cur.next = ListNode(num)
cur = cur.next
return self.next
用法:
head = generate_linked_list([1, 2, 3, 4, 5])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句