从尾到头打印链表有很多种办法。可以逆序然后遍历打印,但是如果不让改变链表结构,这时我们就要想怎么打印才更好。
遍历的同时把数据放入一个栈中,遍历结束再遍历栈便可完成倒叙。但是这种结构就会让我们想到 递归。
递归的使用可以完全简化了程序。
struct LinkNode
{
int Data;
LinkNode * next;
};
void PrintReverse(LinkNode *l)
{
if(l != NULL)
{
if(l->next != NULL)
PrintReverse(l->next);
printf("%d\n", l->Data);
}
}