从尾到头打印链表
题目描述
输入一个链表,从尾到头打印链表每个节点的值。
输入描述:
输入为链表的表头
输出描述:
输出为需要打印的“新链表”的表头
#include <iostream>
#include <vector>
using namespace std;
struct ListNode{
int val;
struct ListNode *next;
ListNode(int x):val(x),next(NULL){}
};
vector<int> printListFromTailToHead(struct ListNode* head) {
ListNode *p=head;
vector<int> v1;
while(p!=NULL){
v1.push_back(p->val);
p=p->next;
}
int len=v1.size();
vector<int> v2;
for(int i=0;i<len;i++){
v2.push_back(v1.back());
v1.pop_back();
}
return v2;
}
int main(){
ListNode n1(1),n2(2),n3(3),n4(4),n5(5);
ListNode h(0);
ListNode *head=&h;
head->next=&n1;
n1.next=&n2;
n2.next=&n3;
n3.next=&n4;
n4.next=&n5;
printListFromTailToHead(head);
system("pause");
}