輸入一個鏈表,從尾到頭打印鏈表每個節點的值。
輸入描述:
輸入爲鏈表的表頭
輸出描述:
輸出爲需要打印的“新鏈表”的表頭
解決方案
方案1
- 遍歷鏈表
- 將值插入到對應的vector中
- 直到遍歷完畢,使用reverse(v.begin(),v.end());
方案2
- 遍歷鏈表
- 將遍歷的值按前插法插入vector
- 返回鏈表
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:
vector<int> printListFromTailToHead(struct ListNode* head) {
vector<int> vin;
struct ListNode *p = head;
while (p!= NULL)
{
vin.insert(vin.begin(),p->val);
p = p->next;
}
return vin;
}
};