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月前
|
C语言 C++
【九章斩题录】从尾到头打印链表(JZ6)
【九章斩题录】从尾到头打印链表(JZ6)
30 0
|
4天前
|
存储 Java C语言
剑指offer(牛客)——从尾到头打印链表
剑指offer(牛客)——从尾到头打印链表
10 1
|
4天前
《剑指offer》——从尾到头打印链表
《剑指offer》——从尾到头打印链表
|
4天前
剑指 Offer 06:从尾到头打印链表
剑指 Offer 06:从尾到头打印链表
19 0
|
4天前
|
C++
【剑指offer】-从尾到头打印链表-03/67
【剑指offer】-从尾到头打印链表-03/67
|
4天前
|
Java
每日一题《剑指offer》链表篇之从尾到头打印链表
每日一题《剑指offer》链表篇之从尾到头打印链表
56 0
每日一题《剑指offer》链表篇之从尾到头打印链表
|
4天前
剑指Offer LeetCode 面试题06. 从尾到头打印链表
剑指Offer LeetCode 面试题06. 从尾到头打印链表
14 0
|
4天前
剑指Offer 面试题06. 从尾到头打印链表
剑指Offer 面试题06. 从尾到头打印链表
21 0
|
7月前
【Leetcode -1290.二进制链表转整数 -剑指Offer 06.从尾到头打印链表】
【Leetcode -1290.二进制链表转整数 -剑指Offer 06.从尾到头打印链表】
16 0
|
4天前
|
算法
LeetCode刷题---19. 删除链表的倒数第 N 个结点(双指针-快慢指针)
LeetCode刷题---19. 删除链表的倒数第 N 个结点(双指针-快慢指针)