03从尾到头打印链表-剑指offer
从尾到头打印链表
题目描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
C++解
思路: 利用栈
代码:
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
vector<int> value;
ListNode *p = NULL;
p = head;
stack<int> stk;
while(p != NULL)
{
stk.push(p->val);
p = p->next;
}
while(!stk.empty())
{
value.push_back(stk.top()); //这里不能直接pop 因为pop返回的是void,top返回的是栈顶的引用
stk.pop();
}
return value;
}
};
Python解
思路:
代码:

浙公网安备 33010602011771号