我被要求编写一个递归函数来打印单链表。但我的导师告诉我,在函数中不能使用静态变量或自变量。递归真的可以在没有参数和静态变量的情况下实现吗?
void recursivePrint((const;
是的,这是可能的。由于recursivePrint()
是一个成员函数,您只需要打印头部的值,然后递归地打印列表的其余部分:
void recursivePrint() const {
if (!head) {
return;
}
std::cout << head->value << " ";
if (head->next) {
head->next->recursivePrint();
}
}