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

本文共 612 字,大约阅读时间需要 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】重建二叉树

发表评论

最新留言

表示我来过!
[***.240.166.169]2023年03月21日 13时41分38秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章