Loading

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解

思路:
代码:


posted @ 2019-12-19 18:14  pgCai  阅读(101)  评论(0)    收藏  举报