从尾到头打印链表

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

具体思路就是先获得链表的长度,然后创建一个数组来倒序存储链表的值。

看了leetcode的题解,不知道为什么要创建新的链表tmp。

class Solution {
public:
    vector<int> reversePrint(ListNode* head) {
        ListNode* tmp=head;
        int len=0;
        while(tmp!=NULL)
        {
            len++;
            tmp=tmp->next;
        }
        tmp=head;
        vector<int> res(len);
        int index=len-1;
        while(tmp!=NULL)
        {
            res[index--]=tmp->val;
            tmp=tmp->next;
        }
        return res;
    }

 

posted @ 2021-03-25 10:29  平平淡淡yg  阅读(23)  评论(0编辑  收藏  举报