总思路:
1.从链表头至尾遍历链表,依次将节点的值存入栈中。
2.依次出栈并保存到vector中。
知识点(对于我个人):
1.C++标准库中栈的调用std::stack<T>
2.Java中的ArrayList<T>对应C++中的vector<T>
AC代码:
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
std::stack<int> nodes;
vector<int> result;
ListNode* node = head;
int temp;
while(node!=nullptr){
nodes.push(node->val);
node = node->next;
}
while(!nodes.empty()){
temp = nodes.top();
result.push_back(temp);
nodes.pop();
}
return result;
}
};