使用递归函数反转打印链表

Mad*_*ddy 1 c recursion singly-linked-list

我刚试了一个程序来反转打印一个单一的链表.

假设链表已准备好5个元素: 1->2->3->4->5

我编写了一个程序,以相反的顺序打印,如:5 4 3 2 1
但我的程序打印为5 4 3 2; 在1不打印.为什么?

int Reverse_List(abc_t *pNode) {
    abc_t *pTemp;
    int count = 5;

    if (pNode->pNext != NULL) {
        pNode = pNode->pNext;
        Reverse_List(pNode);
        printf("The node is %d\n", pNode->a);
    }
}
Run Code Online (Sandbox Code Playgroud)

BLU*_*IXY 13

也许是这样的

void Reverse_List(abc_t *pNode){
    if(pNode==NULL)
        return;

    Reverse_List(pNode->pNext);
    printf("The node is %d\n", pNode->a);
}
Run Code Online (Sandbox Code Playgroud)