剑指 Offer 面试题(6-1)
题目
输入一个链表的头结点,按照 从尾到头 的顺序返回节点的值。
返回的结果用数组存储。
样例
1 | 输入:[2, 3, 5] |
思路
在这里我们不再解释与反转链表思路相同的做法(用三个指针,改变链表结构,想了解可以看这里——https://blog.csdn.net/scfor333/article/details/104968798
这里我们提供另一种不改变链表结构的方式,首先我们审读题意,将链表从尾到头输出,也就是类似于后进先出,这可以让我们联想到一种数据结构——栈,我们可以定义一个栈,然后遍历这个链表,从头到尾将每个值入栈,随后再将栈中数据依次出栈,即可达到从头到尾打印链表的目的,我使用了一个数组来模拟栈,下面是代码
代码
1 | /** |