我无法弄清楚我在这里做错了什么。
//递归复制列表。
void duplicateNodes(const SortedList& o, Node * const copyIter) {
if (copyIter != NULL) {
o.add(o.head, copyIter->data);
duplicateNodes(o, copyIter->next);
}
}
答案 0 :(得分:0)
该方法"添加"做?它是否将节点添加到列表的结尾或开头?
另外,您是否尝试创建2个已排序列表或只是将列表中的每个节点加倍?见下文:
原始列表:A-> B-> C
2列表:A-> B-> C& A-> B-&以及c 双重每个节点:A-> A-> B-> B-> C-> C
答案 1 :(得分:0)
将const
移至第二个参数:
void duplicateNodes(SortedList& o, Node const * const copyIter)
您正在修改第一个参数,因此它不能是const
。