首页 > 编程语言 >【408DS算法题】016基础-倒序输出单链表的结点值

【408DS算法题】016基础-倒序输出单链表的结点值

时间:2024-08-16 23:53:16浏览次数:23  
标签:输出 结点 单链 408DS 递归 链表 016 倒序

Index

题目

给定单链表的头结点,倒序输出单链表的结点值。


分析实现

要倒序输出链表结点值,首先可以想到的是先将链表的结点值存储到数组中,然后利用数组随机访问的特性进行倒序输出。

如果考虑其它思路的话,还可以使用栈来代替数组——将链表元素依次入栈,然后再不断出栈,就得到了逆序的输出。而再进一步去想,递归也是利用了栈的思想,本文的实现方式就算利用了递归的思想(使用栈和递归相对于使用数组,时间复杂度和空间复杂度并不会优化——递归时的递归栈也会占用存储空间,但使用递归的写法可以让代码更加简洁优雅)。

具体实现如下:

void printReverse(LNode *cur) {
	// 递归基
	if (cur == NULL) {
		return;
	}
	// 首先递归输出后续节点
	printReverse(cur->next);
	// 然后输出当前节点
	cout << cur->val << ' ';
}

总结

本篇文章使用递归函数实现了单链表结点值的逆序输出。单链表的逆序输出本身不是一个很难的题目,但本题还可以作为学习递归函数的一个小练习,递归函数的代码往往很简洁却并不容易书写和理解,如果需要熟练掌握需要多加练习。

标签:输出,结点,单链,408DS,递归,链表,016,倒序
From: https://blog.csdn.net/weixin_60702024/article/details/141272029

相关文章

  • [题解] [HNOI2016] 序列
    原题链接题面给定长度为$n$的序列:$a_1,a_2,\cdots,a_n$,记为\(a[1\colonn]\)。类似地,\(a[l\colonr]\)($1\leql\leqr\leqN$)是指序列:$a_{l},a_{l+1},\cdots,a_{r-1},a_r$。若\(1\leql\leqs\leqt\leqr\leqn\),则称$a[s\colont]$是$a[......
  • 计算1~n的和题解(Mars OJ P1016)
    在这儿问一下,有人用MarsOJ的吗?有的话,评论区里回复一下,谢谢。好了切入正题题目:说明给出正整数n(1<=n<=10⁶),计算1到n的和输入格式一行一个正整数(1<=n<=10⁶)输出格式一行一个整数,表示1到n的和样例 输入数据13输出数据16这题考的时循环,把1~n跑......
  • [Ynoi2016] 镜中的昆虫 题解
    难度在最近遇到的题里相对较高,在这里写一篇珂学题解。(以下是学校给的部分分)\(20\%\):直接暴力枚举。另外\(20\%\):假如我们取\(pre\),对于\(pre<l\)的,\(ans++\),明显二维偏序,树状数组或\(cdq\)即可,时间复杂度\(O(n\logn)\)。另外\(40\%\):相当于多加一个时间维,三维偏序,\(......
  • 【NOIP2016普及组复赛模拟赛】侦察兵
    题目描述mxy沉迷于一个辣鸡游戏不可自拔。游戏地图是一个n*n的矩形,在每个单位格子上有一个数字,代表当前位置的生命体个数,作为一个侦察兵,mxy的任务是计算出她所在位置的左上角和右下角的总人数(不包括她所在的行列)。注意作为一个侦察兵,mxy是不包括在地图上的生命体个数中的......
  • 蓝桥杯2016 C/C++程序设计 B组
    抽签//X星球要派出一个5人组成的观察团前往W星。//其中://A国最多可以派出4人。//B国最多可以派出2人。//C国最多可以派出2人。//....//那么最终派往W星的观察团会有多少种国别的不同组合呢?//下面的程序解决了这个问题。//数组a[]中既是每个国家可以派出的最多的名......
  • P4690 Ynoi2016 镜中的昆虫
    P4690Ynoi2016镜中的昆虫原题不会见祖宗。前置珂朵莉树、cdq分治、树状数组思路单点修改区间查询定义\(pre_i\)表示\(col_i\)的前一个一样颜色的位置,那么对于一段区间查询\([l,r]\),我们只需要查询有区间内有多少个\(pre_i<l\)。每次修改时就相当于修改四个同颜色......
  • P8037 [COCI2015-2016#7] Prokletnik
    思路:首先考虑离线。设\(Min-nxt_i\)表示下一个小于\(a_i\)处的位置,\(Max-nxt_i\)表示下一个大于\(a_i\)处的位置。那么\([l,r]\)是魔法区间当且仅当:\(r\)是\([l,r]\)的最大值,且\(r<Min-nxt_l\)。\(r\)是\([l,r]\)的最小值,且\(r<Max-nxt_l\)。......
  • 【408DS算法题】009进阶-二维数组的查找
    Index题目实现代码分析题目在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。​进阶要求——时间复杂度:......
  • 【408DS算法题】进阶011-20年真题_三元组的最小距离
    Index真题题目分析实现总结真题题目定义三元组(a,b,c)(a,b,c均为正数)的距离D=|a-b|+|b-c|+|c-a|给定3个非空整数集合S1、S2和S3,按升序分别存储在3个数组中。设计一个尽可能高效的算法,计算并输出所有可能的三元组(a,b,c)......
  • 016.Vue3入门,表单输入绑定,以及lazy延时回车才显示
    1、代码如下<template><h3>表单输入绑定</h3><form><!--编辑框内容变化时候,下面标签同步显示编辑框内容--><inputtype="text"v-model:="username"><P>{{username}}</P><!--编辑框内容变化时候,按下回车后,标......