剑指Offer06.从尾到头打印链表

简介: 剑指Offer06.从尾到头打印链表

剑指Offer06.从尾到头打印链表

解题思路

1.先遍历1遍,得出链表的长度L。

2.动态开辟L长度的内存,从头遍历链表,同时把值给数组,数组存值时,从后往前给值。

时间复杂度O(N)

代码

int* reversePrint(struct ListNode* head, int* returnSize){
    struct ListNode *cur=head;
    int n=0;
    while(cur)
    {
        cur=cur->next;
        n++;
    }
    *returnSize=n;
    int* arr=(int*)malloc(sizeof(int)*n);
    cur=head;
    while(cur)
    {
        arr[n-1]=cur->val;
        n--;
        cur=cur->next;
    }
    return arr;
}
相关文章
|
1月前
《剑指offer》——合并两个排序的链表
《剑指offer》——合并两个排序的链表
|
1月前
剑指 Offer 35:复杂链表的复制
剑指 Offer 35:复杂链表的复制
26 0
|
27天前
【一刷《剑指Offer》】面试题 17:合并两个排序的链表
【一刷《剑指Offer》】面试题 17:合并两个排序的链表
|
27天前
【一刷《剑指Offer》】面试题 16:反转链表
【一刷《剑指Offer》】面试题 16:反转链表
|
27天前
【一刷《剑指Offer》】面试题 15:链表中倒数第 k 个结点
【一刷《剑指Offer》】面试题 15:链表中倒数第 k 个结点
|
27天前
|
机器学习/深度学习
【一刷《剑指Offer》】面试题 13:在 O(1) 时间删除链表结点
【一刷《剑指Offer》】面试题 13:在 O(1) 时间删除链表结点
|
27天前
【一刷《剑指Offer》】面试题 5:从尾到头打印链表
【一刷《剑指Offer》】面试题 5:从尾到头打印链表
|
29天前
剑指 Offer 18. 删除链表的节点
剑指 Offer 18. 删除链表的节点
25 0
|
1月前
|
Java C语言
剑指offer(牛客)——合并两个排序的链表
剑指offer(牛客)——合并两个排序的链表
13 1
|
1月前
|
存储 Java C语言
剑指offer(牛客)——从尾到头打印链表
剑指offer(牛客)——从尾到头打印链表
18 1