要求实现一个函数,将带头结点链表source复制到链表要求实现一个函数,将带头结点链表source复制到链表dest(带头结点)。 函数接口定义dest(带头结点)。 函数接口定义
时间: 2024-10-08 10:07:24 浏览: 39
C语言通用数据类型链表的实现
要实现一个将链表`source`复制到链表`dest`的函数,你可以创建一个新的函数,比如`copyList`,它接受两个链表头节点作为输入参数。这个函数通常会遍历`source`链表,为每个节点创建一个新的节点,并将其添加到`dest`链表中。下面是Python中的一种可能的函数实现:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
def copyList(source: Node, dest: Node) -> None:
if not source: # 如果源链表为空,则直接返回空的dest链表
return dest
# 创建新节点并指向源节点的数据
new_node = Node(source.data)
# 将新节点链接到dest链表的末尾
dest.next = new_node
# 递归处理源链表剩余部分
dest = copyList(source.next, dest.next)
return dest
```
在这个实现中,我们首先检查`source`是否为空。如果为空,说明已经到达了复制结束的位置,此时返回`dest`即可。然后创建一个新节点,并将其数据设置为当前`source`节点的数据,接着将新节点连接到`dest`的下一个节点。最后通过递归的方式处理`source`的后续节点。
阅读全文