剑指 Offer 06. 从尾到头打印链表(C语言)
*输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
限制:
0 <= 链表长度 <= 10000*
这道题简单来说就是通过一个动态分配的数组存入逆序的链表;
有了大致思路就很简单了,第一步先要确定需要分配的数组大小,即求出链表长度len,代码如下
int len=0;struct ListNode *p=head;while(p!=NULL){len++;p=p->next;}
然后有了长度就可以动态分配相应大小的数组了,分配好后数组下标从len-1(因为数组第一个下标为0,所以最大下标应为len-1)到0开始接收链表数据域的内容;代码如下
int *arr=(int *)malloc(len*sizeof(int));int a=len-1;while(head!=NULL){arr[a--]=head->val;head=head->next;}
这就是关键的两步,完整代码如下:
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*//*** Note: The returned array must be malloced, assume caller calls free().*/
int* reversePrint(struct ListNode* head, int* returnSize)
{int len=0;struct ListNode *p=head;while(p!=NULL){len++;p=p->next;}*returnSize=len;int *arr=(int *)malloc(len*sizeof(int));int a=len-1;while(head!=NULL){arr[a--]=head->val;head=head->next;}return arr;
}
若有更好的方法欢迎交流!!!
剑指 Offer 06. 从尾到头打印链表(C语言)相关推荐
- 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java
<LeetCode力扣练习>剑指 Offer 06. 从尾到头打印链表 Java 一.资源 题目: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入: ...
- LeetCode Algorithm 剑指 Offer 06. 从尾到头打印链表
剑指 Offer 06. 从尾到头打印链表 Ideas 遍历链表,每次在vector的头部insert当前元素值. Code C++ class Solution {public:vector< ...
- 【LeetCode】剑指 Offer 06. 从尾到头打印链表
[LeetCode]剑指 Offer 06. 从尾到头打印链表 文章目录 [LeetCode]剑指 Offer 06. 从尾到头打印链表 一.笨比解法 二.递归法 三.辅助栈法 总结 一.笨比解法 算 ...
- 【三种解法】剑指 Offer 06. 从尾到头打印链表【附完整可运行代码】
立志用最少的代码做最高效的表达 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表 ...
- 剑指 Offer 06. 从尾到头打印链表(python3编写)
目录 1.题目描述: 2.方法一:使用栈保存结果 思路: 代码(迭代法): 代码(递归法): 3.方法二:反转链表 思路: 代码: 4.方法三:保存数组,再反转数组 思路: 代码: 5.总结: 1.题 ...
- 剑指offer 06. 从尾到头打印链表
1.问题描述 输入一个链表的头结点,按链表值从尾到头的顺序返回一个ArrayList. 2. 解决思路 由于是反向打印,所以是一个"后进先出"的问题,使用栈来解决,虽然递归的本质就 ...
- Leetcode 240.剑指 Offer 06. 从尾到头打印链表 (每日一题 20210728)
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回).示例 1:输入:head = [1,3,2] 输出:[2,3,1]限制:0 <= 链表长度 <= 10000题目地址:h ...
- 剑指 Offer 06. 从尾到头打印链表(递归、逆置链表、头部动态插入)
题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 1000 ...
- 【算法】剑指 Offer 06. 从尾到头打印链表
1.概述 链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof 输入一个链表的头节点,从尾到头反过来返回 ...
最新文章
- java正则截取xml节点_实例讲述Java使用正则表达式截取重复出现的XML字符串功能...
- 【网站搭建】搭建独立域名博客 -- 独立域名博客上线了 www.hanshuliang.com
- #error使用分析
- 文巾解题 1190. 反转每对括号间的子串
- jsp获取java后台数据_springMVC笔记:jsp页面获取后台数据记录列表
- zstack 第一个例子
- .NET 程序集单元测试工具 SmokeTest 应用指南
- 基本数据类型与字符串的转换
- flex include和import
- 随机邻域嵌入_[读综述] 图嵌入的应用
- 攻击机靶机环境搭建——网络设置
- 【NLP】使用递归神经网络对序列数据进行建模 (Pytorch)
- 怎么看域名是否解析成功
- web字体 衬线字体与非衬线字体区别 字体扫盲
- gstreamer简介
- redis命令行清缓存
- 1 深度学习为甚么如此火热发展如此迅速
- 基于SSM框架的OA办公系统
- 【JZOJ 100029】【NOIP2017提高A组模拟7.8】陪审团 (贪心+排序)
- java 实现atof函数
热门文章
- 用PB从ORACLE导出DBF文件,PB导出规定格式DBF文件
- dw项目符号空心圆怎么设置_项目规范配置之editorconfigamp;prettier
- python局部变量想作用于全局_python 局部和全局作用域
- 2021年数据中心行业发生了这十件大事
- 上海市经济信息化委关于征集本市2020年拟新建互联网数据中心项目的通知
- android contacts电话查询头像,android怎么取得本地通讯录的头像的原图
- 成功解决ValueError: cannot convert float NaN to integer
- 成功解决 .Quit() File COMObject InternetExplorer.Application, line 2, in Quit pywintypes.com_error
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Find/undo事件)
- TF之NN:利用神经网络系统自动学习散点(二次函数+noise+优化修正)输出结果可视化(matplotlib动态演示)