输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
限制:
0 <= 链表长度 <= 10000
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* create(){
ListNode *p, *pre, *head;
head = new ListNode(0);
head->next = NULL;
pre = head;
for(int i=1; i<5; i++){
p = new ListNode(i);
pre->next = p;
pre = p;
}
return head;
}
int main(){
ListNode *head = create();
vector<int> v;
while(head!=NULL){
v.insert(v.begin(), head->val);
head=head->next;
}
for(int i=0;i<v.size(); i++){
printf("%d ", v[i]);
}
return 0;
}