题目要求:从最里层开始,依次往外拔掉每一层的洋葱

假设带头结点(最外层看做头结点L)

void Reverse(Linklist L){

第一步,判断L后边还有没有,有的话才能往下剥,没有的话程序end

即如果除了头结点还有别的结点,就可以在if(L->next!=null)条件下执行{

往里剥,直到最里层,Reverse (L->next)  (开始递归!后边第二步没办法执行了!只要还有就一直剥已经被剥好的层的看作已经入栈)}

第二步,拔掉一层洋葱print (L->data)

因为剥在拔掉之前执行,所以这个顺序决定了只要没剥到最后一层,就不能开始拔!一旦开始拔,那拔掉的肯定是最里层!

(从栈顶开始,依次输出)

void Reverse(Linklist L){

if(L->next!=null){

Reverse (L->next);

print (L->data);

欢迎指正

用剥洋葱理解递归逆序输出单链表相关推荐

  1. 使用递归顺序和逆序输出单链表

    分析如何缩小问题规模.(递归体) 将链表分成两部分,头节点和剩余节点,再将剩余节点分解成剩余节点的头节点和剩余节点······ 分析结束条件 使问题无法再继续分解时的条件 顺序输出链表 void pr ...

  2. 倒序输出单链表的内容

          单链表是最简单的数据结构,同时也是最常接触的数据结构,这个问题也很常见,通常这个问题我们有两种解决办法.       1.逆置单链表之后输出       这篇文章讲述了这样的过程 http ...

  3. 123456 递归逆序输出成[6,5,4,3,2,1]数组

    123456 递归逆序输出成[6,5,4,3,2,1]数组 直接上代码吧 比较简单 也许笔试能碰上! 哈哈哈 public static void main(String[] args) {Strin ...

  4. 合并单链表,输出单链表中间元素,判断是否有环等

    本博文内容为单链表相关的笔试题,转载请注明转载处,否则必究 1. 合并两个有序的单链表成一个有序的单链表 方法分为递归实现与非递归实现,两种方法都不额外开辟 内存空间 链表的数据结构在本博客的单链表逆 ...

  5. C++实现链表逆序打印、链表反转

    //题目:C++实现链表逆序打印.链表反转 // 如何将链表逆序,取决于题目的要求.如果面试官只要求打印,一般不改动链表结构为好,如果要求改变链表的方向,则需要改变结构,再顺序打印. // 方法1:只 ...

  6. 链表逆序(反转链表)

    链表逆序(反转链表) 一道很基础的算法题,做一下思路的分享和代码的实现,也算是自己学习的一份笔记,如有不正,请大佬们指正. class ListNode {int val;ListNode next; ...

  7. 【C语言】单向链表排序、合并、逆序、分离(链表的头节点不储存数据)

    一.排序 编写程序,在第1题(第1题:编写程序,建立2个带头结点单链表,输入若干整数将正整数插入第1个单链表,将负整数插入第2个单链表,插入前和插入后单链表保持递增或相等次序,显示2个单链表,最后销毁 ...

  8. C语言经典例27-利用递归逆序输出字符串

    目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来. 2 分析 从递归程序设计三大要素角度来分析: 该递归程序的目的:逆序输出字符 ...

  9. 某校2020专硕编程题-递归逆序输出

    题目 输入一个正整数,用递归算法将此数逆序输出. Java实现 public static void reverse(int a){if (a == 0) return;System.out.prin ...

最新文章

  1. Android 插件框架机制之Small
  2. DDL DML DCL
  3. [html] HTML5的Server-Sent和WebSocket有什么区别?
  4. Disruptor本地线程队列_实现线程间通信---线程间通信工作笔记001
  5. 超全面的的常用RAID详解
  6. 【ICLR2021必读】 【自监督学习】 【Transformer】相关论文
  7. UUIDGenerator
  8. 数据库、SID实例、Oracle数据库、sys、system用户
  9. python批量下载文件只有1kb_(尚有报错、待完善)从一些网站(网易公开课、电影网站)上批量获得相关视频文件的下载地址,并保存在一个x.txt文件中...
  10. m序列的产生原理及其性质
  11. linux桌面图标主题包,推荐 4 款漂亮的 Linux 图标主题
  12. word表格删除空白行java_在Word中怎样批量删除空行,这些点主要注意
  13. RN android无线调试
  14. iOS 11 NSPhotoLibraryAddUsageDescription 错误的解决办法
  15. 当发现以前的自己是个傻逼时,该如何面对以后的人生
  16. 游戏中的网络同步机制——Lockstep(转载)
  17. 点、线、圆、矩形、抛物线的类定义_德语词汇-数学类
  18. 算法小课堂(十)随机化算法
  19. 03-OSPF OE2和OE1外部路由详解
  20. 怎么玩转GIS数据查询

热门文章

  1. JavaScript高级程序设计读书笔记(第6章面向对象的程序设计之创建对象)
  2. C++程序设计课程主页-2015级
  3. Python用tushare库获取股票数据批量存入mysql成功
  4. 查看本地IP和服务器端口
  5. 通过Java读取Excle中的内容
  6. 复旦计算机可以跨专业吗,I直达录取现场I2020,还能跨考计算机吗?
  7. 【转载】TinyXML2使用教程
  8. js中yyyy-MM-dd格式的日期转换
  9. 极验:验证码在黑灰产对抗中的角色和实践
  10. OpenCV:remap()简单重映射