要将链表倒序输出,可以使用栈来实现。以下是修改后的代码:
void printListReverse(ListNode* head) {
// 创建一个栈
StackNode* stack = NULL;
// 将链表节点依次入栈
while (head != NULL) {
StackNode* newNode = (StackNode*)malloc(sizeof(StackNode));
newNode->val = head->val;
newNode->next = stack;
stack = newNode;
head = head->next;
}
// 依次出栈并打印节点值
while (stack != NULL) {
printf("%d ", stack->val);
StackNode* temp = stack;
stack = stack->next;
free(temp);
}
printf("\n");
}
注意,为了实现倒序输出,我们创建了一个栈结构(StackNode),将链表节点依次入栈,并在出栈时进行打印操作。最后记得释放动态分配的内存。
内容由零声教学AI助手提供,问题来源于学员提问




