题目:
描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
示例1
输入:
{67,0,24,58}
复制返回值:
[58,24,0,67]
答案:先选择后插法,利用两个链表完成倒序而不是直接前插入是由于前插入每次会将每个元素向后移动移位,效率大大降低。
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
vector<int> array1;
while(head) {
array1.push_back(head->val);
head=head->next;
}
vector<int> array2;
while(!array1.empty()){
array2.push_back(array1.back());
array1.pop_back();
}
return array2;
}
};