剑指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;
}
目录
打赏
0
0
0
0
21
分享
相关文章
|
11月前
《剑指offer》——合并两个排序的链表
《剑指offer》——合并两个排序的链表
|
6月前
(剑指offer)18、删除链表的节点—22、链表中倒数第K个节点—25、合并两个排序的链表—52、两个链表的第一个公共节点(2021.12.07)
(剑指offer)18、删除链表的节点—22、链表中倒数第K个节点—25、合并两个排序的链表—52、两个链表的第一个公共节点(2021.12.07)
83 0
|
8月前
|
【Leetcode刷题Python】剑指 Offer 22. 链表中倒数第k个节点
Leetcode题目"剑指 Offer 22. 链表中倒数第k个节点"的Python解决方案,使用双指针法找到并返回链表中倒数第k个节点。
87 5
|
8月前
|
【Leetcode刷题Python】剑指 Offer 18. 删除链表的节点
Leetcode题目"剑指 Offer 18. 删除链表的节点"的Python解决方案,通过使用双指针法找到并删除链表中值为特定数值的节点,然后返回更新后的链表头节点。
76 4
|
11月前
|
剑指offer(牛客)——合并两个排序的链表
剑指offer(牛客)——合并两个排序的链表
63 1
|
11月前
|
剑指offer(牛客)——从尾到头打印链表
剑指offer(牛客)——从尾到头打印链表
72 1
|
11月前
【一刷《剑指Offer》】面试题 17:合并两个排序的链表
【一刷《剑指Offer》】面试题 17:合并两个排序的链表
|
11月前
【一刷《剑指Offer》】面试题 16:反转链表
【一刷《剑指Offer》】面试题 16:反转链表
|
11月前
【一刷《剑指Offer》】面试题 15:链表中倒数第 k 个结点
【一刷《剑指Offer》】面试题 15:链表中倒数第 k 个结点
【一刷《剑指Offer》】面试题 13:在 O(1) 时间删除链表结点
【一刷《剑指Offer》】面试题 13:在 O(1) 时间删除链表结点
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等