4设计个算法, 从右向左打印一个双链表中各个结点的值。
时间: 2023-05-15 22:05:07 浏览: 116
Java算法设计-打印两个链表的公共值练习题
可以使用逆序遍历双链表的方式,从尾部开始依次输出每个节点的值。具体实现可以使用递归或者栈来实现。
递归实现:
void printListReverse(Node* node) {
if (node == NULL) {
return;
}
printListReverse(node->next);
printf("%d ", node->val);
}
栈实现:
void printListReverse(Node* node) {
stack<Node*> s;
while (node != NULL) {
s.push(node);
node = node->next;
}
while (!s.empty()) {
Node* cur = s.top();
s.pop();
printf("%d ", cur->val);
}
}
阅读全文