我有这样一个LinkedList
Given linked list: 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])
关于python - 自动化构建 LinkedList 的过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55593908/