【剑指Offer】从尾到头打印链表
发布日期:2022-02-10 08:55:09 浏览次数:33 分类:技术文章

本文共 675 字,大约阅读时间需要 2 分钟。

题目描述

输入一个链表,按链表从尾到头的顺序返回一个ArrayList。

思路

只要求打印,没有说改变链表结构,如下思路:

1.新建一个栈,遍历链表同时压栈,最后栈逐渐弹出到空即实现效果

2.使用vector,遍历链表同时push_back,最后使用std中的void reverse ( BidirectionalIterator first, BidirectionalIterator last);直接反转

3.可以使用递归,但层数太深容易崩

代码

/***  struct ListNode {*        int val;*        struct ListNode *next;*        ListNode(int x) :*              val(x), next(NULL) {*        }*  };*/class Solution {public:    vector
printListFromTailToHead(ListNode* head) { vector
ret; ListNode *p = head; while(p != NULL){ ret.push_back(p->val); p = p -> next; } reverse(ret.begin(),ret.end()); return ret; }};

 

转载地址:https://blog.csdn.net/hanmin822/article/details/105409279 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【剑指Offer】合并两个排序的链表
下一篇:【剑指Offer】重建二叉树

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月19日 01时06分08秒