剑指offer3-从尾到头打印链表
作者:互联网
题目描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
思路:因为涉及到反向,所以我们使用栈。
将链表从头结点开始依次将val数值装入栈中,根据栈的后进先出原则,所以出栈的顺序就是链表从尾到头的顺序。
代码:
/** * struct ListNode { * int val; * struct ListNode *next; * ListNode(int x) : * val(x), next(NULL) { * } * }; */ class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { vector<int> array; ListNode* p = head; stack<int> S; while(p!=NULL) { S.push(p->val); p = p->next; } int len = S.size(); for(int i=0;i<len;i++) { int temp = S.top(); array.push_back(temp); S.pop(); } return array; } };
标签:ListNode,val,int,next,链表,offer3,从尾 来源: https://www.cnblogs.com/loyolh/p/12859568.html