题解 | #从尾到头打印链表#

从尾到头打印链表

https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035

#include <algorithm>
#include <iterator>
#include <vector>
class Solution {
  public:
    vector<int> printListFromTailToHead(ListNode* head) {
        vector<int>temp;
        if(head==nullptr)
            return {};
        ListNode* current=head;
        int length=0;
        while(current!=nullptr)
        {
            temp.push_back(current->val);
            length++;
            current=current->next;
        }
        //用这种做法,仅用了4字节的数据,就避免了在copy时反复给result数组扩容。
        vector<int>result(length);
        // std::reverse_copy(temp.begin(), temp.end(), std::back_inserter(result));
        std::reverse_copy(temp.begin(),temp.end(),result.begin());
        return result;
    }
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
gcniz:一天写两千行你闹呢
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务