入一个链表,从尾到头打印链表每个节点的值。
调用vector的insert()方法实现
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
vector<int> result;
if(head!=NULL){
result.insert(result.begin(),head->val);
while(head->next!=NULL){
head=head->next;
result.insert(result.begin(),head->val);
}
}
return result;
}
};
利用vector的反向迭代器实现
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
vector<int> v;
ListNode *p = head;
while (p != nullptr) {
v.push_back(p->val);
p = p->next;
}
//反向迭代器创建临时对象
return vector<int>(v.rbegin(), v.rend());
}
};