JZ6 从尾到头打印链表

简介: JZ6 从尾到头打印链表

描述

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

链表: 1->2 ->3

返回: [3 2 1]

代码: 5ms 896kb

#include <algorithm>
#include <list>
#include <vector>
class Solution {
public:
    vector<int> printListFromTailToHead(ListNode* head) {
        if(!head)return {};
        ListNode* p = head;
        int len = 0;
        while (p!=nullptr) {
            p = p->next;
            len++;        
        }
        vector<int> res(len);
        for(int i = len -  1;i>=0;--i){
            res[i] = head->val;
            head = head->next;
        }
        return res;    
    }
};

总结

题目很简单,直接用vector顺序存储数据后再用算法反转一下也可以,但是这样做比较耗时,所以可以先创建一个链表副本遍历出链表节点数量,再定义对于长度容器反向遍历赋值即可。


相关文章
|
6月前
|
存储 Java C语言
剑指offer(牛客)——从尾到头打印链表
剑指offer(牛客)——从尾到头打印链表
39 1
|
6月前
【一刷《剑指Offer》】面试题 5:从尾到头打印链表
【一刷《剑指Offer》】面试题 5:从尾到头打印链表
|
6月前
剑指Offer06.从尾到头打印链表
剑指Offer06.从尾到头打印链表
39 0
|
6月前
《剑指offer》——从尾到头打印链表
《剑指offer》——从尾到头打印链表
|
6月前
|
Java
每日一题《剑指offer》链表篇之从尾到头打印链表
每日一题《剑指offer》链表篇之从尾到头打印链表
73 0
每日一题《剑指offer》链表篇之从尾到头打印链表
|
6月前
剑指 Offer 06:从尾到头打印链表
剑指 Offer 06:从尾到头打印链表
31 0
|
6月前
|
C++
【剑指offer】-从尾到头打印链表-03/67
【剑指offer】-从尾到头打印链表-03/67
|
6月前
剑指Offer LeetCode 面试题06. 从尾到头打印链表
剑指Offer LeetCode 面试题06. 从尾到头打印链表
28 0
|
6月前
剑指Offer 面试题06. 从尾到头打印链表
剑指Offer 面试题06. 从尾到头打印链表
35 0
|
5月前
|
存储 SQL 算法
LeetCode力扣第114题:多种算法实现 将二叉树展开为链表
LeetCode力扣第114题:多种算法实现 将二叉树展开为链表