每日一练(剑指offer)从尾到头打印链表

时间:2023-02-22 16:01:09

描述

输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。

如输入{1,2,3}的链表如下图:

返回一个数组为[3,2,1]

每日一练(剑指offer)从尾到头打印链表

0 <= 链表长度 <= 10000

示例

输入:

{1,2,3}

返回值:

[3,2,1]

解题

/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param listNode ListNode类
* @return int整型一维数组
* @return int* returnSize 返回数组行数
*/
int* printListFromTailToHead(struct ListNode* listNode, int* returnSize ) {
// write code here
int count=0;
struct ListNode*p=listNode;
while(p){
count++;
p=p->next;
}
*returnSize=count;
int *array=(int*)malloc((*returnSize)*sizeof(int));
while(listNode)
{
array[count-1]=listNode->val;
count--;
listNode=listNode->next;
}
return array;
}

链接​

​https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035​