实现is形式的单向链表请编写一个函数,用于创建一个单向链表。这个函数将会接收一个数组作为参数,其中数组的每一个元素都是链表节点的值编写的函数需要返回生成链表的头节点输入描述输入 af=[1,2,3,4,5]
时间: 2024-09-27 20:08:10 浏览: 18
在Python中,我们可以使用递归的方式来实现一个动态单向链表,这里我们使用`ListNode`作为链表节点的类,并且假设它有一个`value`属性存储数据,以及一个指向下一个节点的引用`next`。以下是创建链表的函数:
```python
class ListNode:
def __init__(self, value=0, next=None):
self.value = value
self.next = next
def create_linked_list(arr):
if not arr:
return None
# 创建最后一个节点并将其next设为None
last_node = ListNode(arr[-1])
# 遍历输入数组从后往前,依次插入到链表中
for i in range(len(arr) - 2, -1, -1):
new_node = ListNode(arr[i], last_node)
last_node = new_node
return last_node # 返回链表的第一个节点,即head
# 示例
input_array = [1, 2, 3, 4, 5]
head = create_linked_list(input_array)
```
这个函数首先检查输入数组是否为空,如果为空则直接返回`None`表示空链表。然后创建第一个节点并将它的`next`指向前一个节点(因为我们将从后向前遍历)。接着遍历数组,每次将新的节点添加到链表末尾,并更新`last_node`为新添加的节点。