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

发布于:2022-12-22 ⋅ 阅读:(346) ⋅ 点赞:(0)

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

题目

题目

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

题目链接:https://leetcode.cn/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/

题解

解法:将数据读入数组,逆转数组

解法分析

两次循环,第一次获取链表长度,第二次将链表元素依次逆序放进数组

边界条件、特殊值分析、测试、注意事项

  1. 链表指针为nullptr
  2. 链表为空

复杂度分析

时间复杂度 O(n)
空间复杂度 O(n)

代码

vector<int> reversePrint(ListNode* head) {
    int numOfHead=0;
    ListNode* p=head;
    while(p!=NULL)
    {
        numOfHead++;//获取链表长度
        p=p->next;
    }
    //创建数组将值倒序填充进去
    vector<int>a(numOfHead);
    p=head;
    int i=numOfHead-1;;
    while(p!=NULL)
    {
        a[i--]=p->val;
        p=p->next;
    }
    return a;
}

可能存在的问题

  1. 暂无

网站公告

今日签到

点亮在社区的每一天
去签到