题解 | #从尾到头打印链表# 反转后从头到尾打印
从尾到头打印链表
http://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035
/**
* struct ListNode {
* int val;
* struct ListNode *next;
* ListNode(int x) :
* val(x), next(NULL) {
* }
* };
*/
class Solution {
public:
vector<int> printListFromTailToHead(ListNode* head) {
ListNode* rhead = reverseList(head);
vector<int> ans;
while (rhead) {
ans.push_back(rhead->val);
rhead = rhead->next;
}
return ans;
}
ListNode* reverseList(ListNode* head) {
ListNode *cur = head, *pre = nullptr;
while (cur) {
ListNode* nex = cur->next;
cur->next = pre;
pre = cur;
cur = nex;
}
return pre;
}
};
曼迪匹艾公司福利 149人发布