首页 > 代码库 > 从尾到头输出链表
从尾到头输出链表
链表的结构为:
struct ListNode
{
int m_nKey;
ListNode* next;
};
从头到尾的输出链表对于大家来说都是比较简单的,但是从尾到头应该怎么做好呢?
其实可以这样想,从头到尾输出链表,并把链表的数据存放到栈中,当遍历到链表尾部的时候,再从栈中输出数据,此时得到的值就是从尾到头输出的值了,
但是在这样的实现中,需要额外去维护一个栈,也是挺麻烦的,这时你可以想一下,栈的实现其实和递归的实现时一样的,那么可不可以不要用栈,而是使用递归实现呢
这样的话更容易理解也不用额外去维护栈呢?这是可行的。
1 void ReverseList(ListNode* pListHead) 2 { 3 if(pListHead != NULL) 4 { 5 6 if (pListHead->m_pNext != NULL) 7 { 8 ReverseList(pListHead->next); 9 }10 11 12 printf("%d", pListHead->m_nKey);13 }14 }
从尾到头输出链表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。