题目描述
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
大致思路
- 倒序过来,就先存到栈中,然后再一个个存到链表中去就行了
代码
vector printListFromTailToHead(ListNode* head) { vector arry; stack int_stack; ListNode* temp_ptr = head; while (temp_ptr != NULL){ int_stack.push(temp_ptr->val); temp_ptr = temp_ptr->next; } while(!int_stack.empty()){ arry.push_back(int_stack.top()); int_stack.pop(); } return arry;}复制代码
结论
思路很简单,也没做过多的思考其它的方案,如果说原本的数据不是 int,而是一个很大的数据结构的话,那么思路一样,此外可能会考虑直接先遍历把各个节点的地址存起来,然后再进行同样的处理。