四种方式实现--从尾到头输出链表

简介:

四种方式实现--从尾到头输出链表

  方法一:借用栈倒序输出链表

  方法二:先翻转链表,再顺序输出

  方法三:递归实现,一个字妙,两个字很妙,三个字太妙了

  方法四:用数组实现

  方法一:借用栈倒序输出链表
        因为栈是先进后出,把链表中的元素存进栈中,链表前面的元素在栈底,后面的元素在栈顶,链表后面的元素先出栈

  方法二:先翻转链表,再按顺序打印(主要是想自己实现单链表的翻转,这种实现方式破坏了链表的结构,当然再翻转一下就还原了)
                 翻转链表的步骤:
                      1:将当前节点的next节点指向他以前的前一个节点
                      2:当前节点下移一位
                      3:如果是最后一个节点,就把它的next节点指向它以前的前一个节点,并推出循环

  方法三:用递归实现
                 很诚实的说盗用了别人的思想,真的太妙了,完全能看出你是否真的体会了递归的原理
                 正如那位哥们所说,递归就是一个进栈出栈的过程,链表前面的元素先进栈,在栈底,后面的元素后进栈,在栈顶,先出栈,哈哈。。。

  方法四:借用数组实现,跟用栈实现的方式差不多, LoveJenny说的实现方式跟这种方式是一样的,空间复杂度都是O(n)

源码

本文转自啊汉博客园博客,原文链接:http://www.cnblogs.com/hlxs/archive/2011/08/01/2124220.html
目录
相关文章
|
5月前
|
C语言 C++
【九章斩题录】从尾到头打印链表(JZ6)
【九章斩题录】从尾到头打印链表(JZ6)
27 0
|
30天前
《剑指offer》——从尾到头打印链表
《剑指offer》——从尾到头打印链表
|
3月前
剑指 Offer 06:从尾到头打印链表
剑指 Offer 06:从尾到头打印链表
16 0
|
4月前
|
C++
【剑指offer】-从尾到头打印链表-03/67
【剑指offer】-从尾到头打印链表-03/67
|
4月前
|
Java
每日一题《剑指offer》链表篇之从尾到头打印链表
每日一题《剑指offer》链表篇之从尾到头打印链表
52 0
每日一题《剑指offer》链表篇之从尾到头打印链表
|
4月前
剑指Offer LeetCode 面试题06. 从尾到头打印链表
剑指Offer LeetCode 面试题06. 从尾到头打印链表
13 0
|
4月前
剑指Offer 面试题06. 从尾到头打印链表
剑指Offer 面试题06. 从尾到头打印链表
21 0
|
5月前
|
存储 算法 容器
JZ6 从尾到头打印链表
JZ6 从尾到头打印链表
|
6月前
【Leetcode -1290.二进制链表转整数 -剑指Offer 06.从尾到头打印链表】
【Leetcode -1290.二进制链表转整数 -剑指Offer 06.从尾到头打印链表】
14 0
|
6月前
|
存储 C++ 容器
剑指offer(C++)-JZ6:从尾到头打印链表(数据结构-链表)
剑指offer(C++)-JZ6:从尾到头打印链表(数据结构-链表)