*输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

示例 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语言)相关推荐

  1. 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java

    <LeetCode力扣练习>剑指 Offer 06. 从尾到头打印链表 Java 一.资源 题目: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入: ...

  2. LeetCode Algorithm 剑指 Offer 06. 从尾到头打印链表

    剑指 Offer 06. 从尾到头打印链表 Ideas 遍历链表,每次在vector的头部insert当前元素值. Code C++ class Solution {public:vector< ...

  3. 【LeetCode】剑指 Offer 06. 从尾到头打印链表

    [LeetCode]剑指 Offer 06. 从尾到头打印链表 文章目录 [LeetCode]剑指 Offer 06. 从尾到头打印链表 一.笨比解法 二.递归法 三.辅助栈法 总结 一.笨比解法 算 ...

  4. 【三种解法】剑指 Offer 06. 从尾到头打印链表【附完整可运行代码】

    立志用最少的代码做最高效的表达 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表 ...

  5. 剑指 Offer 06. 从尾到头打印链表(python3编写)

    目录 1.题目描述: 2.方法一:使用栈保存结果 思路: 代码(迭代法): 代码(递归法): 3.方法二:反转链表 思路: 代码: 4.方法三:保存数组,再反转数组 思路: 代码: 5.总结: 1.题 ...

  6. 剑指offer 06. 从尾到头打印链表

    1.问题描述 输入一个链表的头结点,按链表值从尾到头的顺序返回一个ArrayList. 2. 解决思路 由于是反向打印,所以是一个"后进先出"的问题,使用栈来解决,虽然递归的本质就 ...

  7. Leetcode 240.剑指 Offer 06. 从尾到头打印链表 (每日一题 20210728)

    输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回).示例 1:输入:head = [1,3,2] 输出:[2,3,1]限制:0 <= 链表长度 <= 10000题目地址:h ...

  8. 剑指 Offer 06. 从尾到头打印链表(递归、逆置链表、头部动态插入)

    题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 1000 ...

  9. 【算法】剑指 Offer 06. 从尾到头打印链表

    1.概述 链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof 输入一个链表的头节点,从尾到头反过来返回 ...

最新文章

  1. java正则截取xml节点_实例讲述Java使用正则表达式截取重复出现的XML字符串功能...
  2. 【网站搭建】搭建独立域名博客 -- 独立域名博客上线了 www.hanshuliang.com
  3. #error使用分析
  4. 文巾解题 1190. 反转每对括号间的子串
  5. jsp获取java后台数据_springMVC笔记:jsp页面获取后台数据记录列表
  6. zstack 第一个例子
  7. .NET 程序集单元测试工具 SmokeTest 应用指南
  8. 基本数据类型与字符串的转换
  9. flex include和import
  10. 随机邻域嵌入_[读综述] 图嵌入的应用
  11. 攻击机靶机环境搭建——网络设置
  12. 【NLP】使用递归神经网络对序列数据进行建模 (Pytorch)
  13. 怎么看域名是否解析成功
  14. web字体 衬线字体与非衬线字体区别 字体扫盲
  15. gstreamer简介
  16. redis命令行清缓存
  17. 1 深度学习为甚么如此火热发展如此迅速
  18. 基于SSM框架的OA办公系统
  19. 【JZOJ 100029】【NOIP2017提高A组模拟7.8】陪审团 (贪心+排序)
  20. java 实现atof函数

热门文章

  1. 用PB从ORACLE导出DBF文件,PB导出规定格式DBF文件
  2. dw项目符号空心圆怎么设置_项目规范配置之editorconfigamp;prettier
  3. python局部变量想作用于全局_python 局部和全局作用域
  4. 2021年数据中心行业发生了这十件大事
  5. 上海市经济信息化委关于征集本市2020年拟新建互联网数据中心项目的通知
  6. android contacts电话查询头像,android怎么取得本地通讯录的头像的原图
  7. 成功解决ValueError: cannot convert float NaN to integer
  8. 成功解决 .Quit() File COMObject InternetExplorer.Application, line 2, in Quit pywintypes.com_error
  9. Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Find/undo事件)
  10. TF之NN:利用神经网络系统自动学习散点(二次函数+noise+优化修正)输出结果可视化(matplotlib动态演示)