输入一个链表,从尾到头打印链表每个节点的值。
输入描述:
输入为链表的表头
输出描述:
输出为需要打印的“新链表”的表头解题思路:
一次记录链表的值,最后用reverse(list.begin(),list.end())翻转,输出。
注意问题:
list.end()指向最后一个元素的后一个元素。
/**
* 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> list;
while(head!=NULL){
list.push_back(head->val);
head=head->next;
}
reverse(list.begin(),list.end());
return list;
}
};