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

一、题目

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

二、思路

直接转数组 再数组反转

三、代码

class Solution {
public:
    vector<int> reversePrint(ListNode* head) {
        vector <int>res;
        while (head){
            res.emplace_back(head->val);
            head=head->next;

        }
        reverse(res.begin(),res.end());
        return res;
    }
};

四、补充

push_back() 向容器尾部添加元素时,首先会创建这个元素,然后再将这个元素拷贝或者移动到容器中(如果是拷贝的话,事后会自行销毁先前创建的这个元素);而 emplace_back() 在实现时,则是直接在容器尾部创建这个元素,省去了拷贝或移动元素的过程。

posted @ 2022-11-25 15:59  ImreW  阅读(9)  评论(0编辑  收藏  举报