05. 从尾到头打印链表(C++版本)
使用的链表相关定义及函数在:链表最小结构(C++版本)
递归版本:
void PrintListReversely_Recursively(ListNode* pHead)
{if (nullptr == pHead) return;if (pHead->pNext != nullptr) PrintListReversely_Recursively(pHead->pNext);std::cout << pHead->data << " ";
}
循环版本:
void PrintListReversely_Circularly(ListNode* pHead)
{if (nullptr == pHead) return;ListNode* pCurNode = nullptr;ListNode* pLastNode = nullptr;while (pLastNode != pHead){pCurNode = pHead;while (pCurNode->pNext != pLastNode) pCurNode = pCurNode->pNext;std::cout << pCurNode->data << " ";pLastNode = pCurNode; }
}
完成的调用示例如下:
#include "ListData.h"void PrintListReversely_Recursively(ListNode* pHead)
{if (nullptr == pHead) return;if (pHead->pNext != nullptr) PrintListReversely_Recursively(pHead->pNext);std::cout << pHead->data << " ";
}void PrintListReversely_Circularly(ListNode* pHead)
{if (nullptr == pHead) return;ListNode* pCurNode = nullptr;ListNode* pLastNode = nullptr;while (pLastNode != pHead){pCurNode = pHead;while (pCurNode->pNext != pLastNode) pCurNode = pCurNode->pNext;std::cout << pCurNode->data << " ";pLastNode = pCurNode; }
}void PrintListReversely(MyList myList)
{if (nullptr == myList.pHead) return;PrintListReversely_Recursively(myList.pHead); // 调用循环版本替换成PrintListReversely_Circularly
}int main()
{MyList myList;for (int idx = 1; idx <= 10; ++idx) InsertList(myList, idx);std::cout << "Print List: " << std::endl;PrintList(myList);std::cout << "Print List Reversely: " << std::endl;PrintListReversely(myList);ReleaseList(myList);
}
输出数据为:
Print List:
1 2 3 4 5 6 7 8 9 10
Print List Reversely:
10 9 8 7 6 5 4 3 2 1
05. 从尾到头打印链表(C++版本)相关推荐
- 【剑指offer-Java版】05从尾到头打印链表
从头到尾打印链表:递归实现比较简单 注意处理异常输入:如输入指针为空 处理边界条件等即可 public class _Q05 {public static void main(String[] arg ...
- 剑指offer丨6 从尾到头打印链表(JavaScript版本)
目录 题目: [JZ6 从尾到头打印链表](https://leetcode.cn/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/) 题解: 总结 题 ...
- 链表打印从尾到头打印链表
在本文中,我们主要介绍链表打印的内容,自我感觉有个不错的建议和大家分享下 每日一道理 生命不是一篇"文摘",不接受平淡,只收藏精彩.她是一个完整的过程,是一个"连载&qu ...
- 剑指offer--从尾到头打印链表
记录来自<剑指offer>的算法题目 链表应该是面试时被提及最频繁的数据结构,它的结构简单,由若干个结点连接成链状结构,其创建.插入结点.删除结点等操作都只需要20行左右的代码就能实现,其 ...
- 剑指offer:面试题06. 从尾到头打印链表
题目:从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 & ...
- 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 剑指Offer(三):从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每 ...
- 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java
<LeetCode力扣练习>剑指 Offer 06. 从尾到头打印链表 Java 一.资源 题目: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入: ...
- java从尾到头打印链表数据_Java编程实现从尾到头打印链表代码实例
问题描述:输入一个链表的头结点,从尾巴到头反过来打印出每个结点的值. 首先定义链表结点 public class ListNode { int val; ListNode next = null; L ...
- JAVA实现从尾到头打印链表(《剑指offer》)
最近在刷<剑指offer>里的编程题,但是网上关于<剑指offer>的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码 ...
- 【剑指Offer】从尾到头打印链表
剑指Offer 从尾到头打印链表 题目描述 解法1 实现代码 一点补充 题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList. 解法1 这道题主要思路是while循环从头遍历整个列 ...
最新文章
- 彻底解决python打印结果省略号的问题显示宽度
- 学习CSS 不错网址
- 个人Wordpress站点设置Windows Live writer
- C++中的继承(二)
- 垃圾收集算法,垃圾收集器_为什么我不能关闭垃圾收集器?
- 用OKR拆解法,做产品规划
- pandas python groupby_Python Pandas与Groupby的条件和
- flutter 动画展开菜单_蒲公英 · JELLY技术周刊 Vol.34: 芜湖~ Flutter
- 建议收藏!早期人类驯服『图神经网络』的珍贵资料
- IntelliJ IDEA 12 中用 Maven + Jetty 来开发Web项目
- DE14 Interpretation of the Exceptional Case: Resonance
- 库 v10怎么安装_22000Pa强劲吸力加高续航,追觅V10无线吸尘器体验
- U-Boot在FL2440上移植(四)----支持网卡DM9000和烧写yaffs文件系统
- Python中简单的编程
- python 视频转场_Python 带你高效创作短视频,视频创作秀到飞起!!!
- 关于小米Ruby15.6笔记本驱动黑苹果博通蓝牙的补充
- xml和html的区别和联系
- 一米村长讲故事机器人_又一位主持人跑去给孩子讲故事,村长李锐推出有声故事品牌“村长讲故事”...
- 去哪查阅ISO国际标准?
- Spring启动,constructor,@PostConstruct,afterPropertiesSet,onApplicationEvent执行顺序 原创 2016年09月29日 11:39:2