输入一个链表,用反向输出链表的节点。
可以用栈保存的遍历的链表节点的值。然后用栈先进后出的特点。就可以实现从尾到头输出节点值。
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<list>
#include<stack>
#include<algorithm>
using namespace std;
int main(){
list<int>List;
stack<int>ans;
list<int>::iterator tmp;
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
int m;
scanf("%d",&m);
List.push_back(m);
}
for(tmp=List.begin();tmp!=List.end();tmp++){
int m=*tmp;
ans.push(m);
}
while(!ans.empty()){
int p=ans.top();
ans.pop();
printf("%d\n",p);
}
}