有一个链表,知道链表头,怎么逆序打印出链表每个节点的值。

我们知道,当知道了链表头的时候,很容易顺序访问所有节点的值,但是如何逆序访问所有节点呢?

访问一棵二叉树,通常可以深度优先和广度优先访问每个节点,深度优先又分为先序,中序和后续遍历,后续遍历就是先访问树的右子树,再访问左子树,最后访问父节点,如果我们把一个链表看成是一颗单叉树,利用树的后续遍历就达到了逆序访问链表的每个节点,利用递归,实现代码如下:

struct node
{
int val;
node* next;
};
void travel(node*head)
{
if(head && head->next)
{
travel(head->next);
}
if(head)
printf("val=%d\n",head->val);
}
node* head = new node;
head->next=NULL;
head->val = 0;
node *h=head;
for(int i=1;i<10;i++)
{
node *nd = new node;
nd->val = i;
nd->next = NULL;
h->next = nd;
h = nd;
}
travel(head);

[算法]链表的逆序遍历节点相关推荐

  1. 大厂面试算法系列-如何实现链表的逆序(二)-递归法

    导语   接着上次的内容,上次博客中展示了原地进行单链表的逆序操作,当然除了原地逆序还可以通过递归的方式进行调用操作.下面就来看看通过递归的方式如何进行单链表的逆序操作. 递归法逆序链表   假定原来 ...

  2. 大厂面试算法系列-如何实现链表的逆序(一)-原地逆序

    题目描述   给定一个带有头节点的单向列表,将这个链表进行逆序.例如head->1->3->4->2,逆序之后变成head->2->4->3->1 题目 ...

  3. 二叉树 BinaryTree (先序、中序、后序遍历 节点查找、插入、删除 完整类) Java数据结构与算法

    二叉树 BinaryTree (先序.中序.后序遍历 节点查找.插入.删除 完整类) Java数据结构与算法 源代码: view plain /** * * @author sunnyykn */ i ...

  4. 如何实现链表的逆序?

    如何实现链表的逆序? 下面介绍了两种方法:1.就地逆序法 2.插入法 单链表数据结构 /*** @program: 算法与数据结构* @description: 单链表数据结构* @author: 粉 ...

  5. 实现链表的逆序的三种方式

    文章目录 问题 分析 方法一:就地逆序 方法二:递归法 方法三:插入法(推荐) 问题 给定一个带头节点的单链表,将其逆序.head->1->2->3->4->5-> ...

  6. 单链表实现一元多项式相加_python面试系列 01如何实现单链表的逆序

    题目介绍 来源:腾讯笔试                         难度系数:★★★☆☆                  考察频率:★★★★☆ 题目描述: 给定一个带头结点的单链表,请将其逆序 ...

  7. 【C++】链表反转逆序|建立、删除、修改、插入|linux内核链表与普通链表

    目录 C++实现链表逆序 链表的建立.删除.修改.插入 linux内核链表与普通链表 C++实现链表逆序 实现链表逆序,首先要有一个链表,下面是链表的结构体: typedef struct listn ...

  8. c 语言中双向链表逆转编程题,C/C++ 双链表之逆序的实例详解

    C/C++ 双链表之逆序的实例详解 一.结点结构 双向链表的数据结构定义如下: typedef struct node { ElemType data; struct node *prior stru ...

  9. C语言单向链表的逆序输出

    最近在学习链表,看到书上说可以采取每次在链表头部插入新增节点的方法,将链表逆序,也就是建立的链表节点内容与数据的输入顺序相反.我便来了兴趣,想着试试看,结果没搞懂,于是开始百度.看了几遍博客后终于是明 ...

最新文章

  1. 2012年我的十大工程9——形象工程
  2. Nanopore测序
  3. 如何做一名专业的软件测试工程师
  4. Eclipse使用Maven时出现:Index downloads are disabled, search results may be incomplete.问题解决...
  5. 炎炎夏日需要一个清凉的地 - 自制水冷系统
  6. JavaScript eval() 函数
  7. 记录MySQL下所执行的所有命令
  8. 面试官问我会不会APP抓包,我..
  9. 【玩转cocos2d-x之三十七】粒子系统的加载优化
  10. 最优化理论与方法(part4)--秩一校正
  11. Linux实战案例(2)实例讲解使用软连接的场景和过程
  12. python random库下载_Python---random库(随机数)
  13. 前端现在有发展前途吗?应届生好找工作吗?
  14. ubuntu系统部署python3.6.4
  15. DB2 V10.5 PureScale支持HADR
  16. Windows服务器搭建Redis
  17. APICloud手机端网站直接制作手机APP
  18. PP实施经验分享(24)——ECN应用及系统操作
  19. 双鱼林java_双鱼林Java代码生成器
  20. 商城限时秒杀抢购系统

热门文章

  1. python mysql connector update_Python(Mysql Connector)如何刷新curs上的结果
  2. 基于jquery的php分页,基于jQuery封装的分页组件
  3. python 字符串去除中文
  4. 的路由放在本地_支持双频+WiFi 6,穿墙力强,领势AX3200路由器体验
  5. 报错解决方法1:‘A GDAL API version must be specified.’
  6. 文计笔记7:HTML与CSS
  7. 【新功能,新插件】-全新来袭,CSDN浏览器助手这一款无广告干净界面插件你值得拥有!
  8. 数据中台(二)数据质量分析及提升
  9. SVM-支持向量机原理详解与实践之四
  10. C语言-求字符串长度-strlen()与sizeof()