当前位置: 首页 > 面试题库 >

如何将链接列表复制到另一个列表中?

嵇俊德
2023-03-14
问题内容

我正在研究数据结构和链表,但是我没有得到如何制作链表副本的概念。有人可以使用伪代码或C代码进行解释吗?


问题答案:

复制链表的逻辑是递归的,并且基于以下观察结果:

  1. 空列表的克隆是空列表。
  2. 具有第一个节点x和其余节点xs的列表的克隆是x的副本,该副本位于xs的克隆之前。

如果您使用C ++对链表进行编码,则可以很干净:

struct Node {
    int value;
    Node* next;
};

Node* Clone(Node* list) {
    if (list == NULL) return NULL;

    Node* result = new Node;
    result->value = list->value;
    result->next = Clone(list->next);
    return result;
}


 类似资料:
  • 问题内容: 如果我有:和 如果调用,我是否可以通过这种方式将linkedlist2附加到linkedlist1的末尾: 它变为并 变为? 那可能吗 ?还是我需要其他结构? 以下代码不起作用: 输出: 问题答案: Java提供的标准LinkedList类缺少此功能。 正如Donal Boyle所发布的那样,您可以将一个列表的内容添加到另一个列表中,但这并不能像您所描述的那样保持链接。

  • 我有一个 。 我尝试使用,但我在代码的后面得到了一个。点击并试用。:) 不管怎样,我的问题很简单,我如何将我的列表的全部内容复制到另一个列表中?当然,不是通过迭代。

  • 我有一个列表,其中包含以下元素: 和另一个对象,比如: 我有Element1的列表,并希望从Element1创建Elements2: 我正在寻找以更简单的方式执行此操作,也许使用 stream()。实现这一目标的最干净方法是什么?

  • 问题内容: [‘a’,’a’,’b’,’c’,’c’,’c’] 至 和 问题答案: x=[‘a’,’a’,’b’,’c’,’c’,’c’] >>> map(x.count,x) [2, 2, 1, 3, 3, 3] >>> dict(zip(x,map(x.count,x))) {‘a’: 2, ‘c’: 3, ‘b’: 1} >>>

  • 我想将table 1的内容复制到table 2中,但它不是直接复制,因为table 2包含的列比表1多。结构类似于这样: 表 1 { 列 2 列 4 列 6 } 表2{column1 column2 column3 column4 column5 column6} 我想做的是将table1到table2中的每一行相加,并为缺少的列设置默认值。任何帮助都将不胜感激。

  • 问题内容: 如何将值从一列复制到另一列?我有: 我希望有: 我应该有哪些mysql查询? 问题答案: 有关代码的简短答案是: 这是表名,周围是重音符号(又称“-”),因为这是MySQL惯例,用于转义关键字(在这种情况下为关键字)。 请注意,这是非常危险的查询,它将擦除表每行中列中的所有内容,并替换为(无论其值如何) 使用子句将查询限制为仅特定的行集更为常见: