剑指offer | 从尾到头打印链表

题目描述:

“输入一个链表,从尾到头打印链表每个节点的值。”

 

这是我做的《剑指offer》系列的第一题,好的开头就是成功的一半。然而,我提交了一次,WA!再提交,WA!Com'on!

看来我的开端并不顺利。不过我要的可不是成功的一半,这样的开端怎么能阻挡我AC之路!仔细看了一遍题目要求,看了提交格式。再提交!

Finally,AC!

代码如下:

 1 /**
 2 *  struct ListNode {
 3 *        int val;
 4 *        struct ListNode *next;
 5 *        ListNode(int x) :
 6 *              val(x), next(NULL) {
 7 *        }
 8 *  };
 9 */
10 class Solution {
11 public:
12     vector<int> printListFromTailToHead(struct ListNode* head) {
13         vector<int> nodes;
14         ListNode* pCurtNode = head;
15         while(pCurtNode) {
16             nodes.push_back(pCurtNode->val);
17             pCurtNode = pCurtNode->next;
18         }
19         //也可以在nodes里面逆转
20         vector<int> answer(nodes.rbegin(), nodes.rend());  //reverse
21         return answer;
22     }
23 };

前面xlshao*用的stack保存历史节点,我直接用了vector,然后逆置就ok了(当然可以直接在nodes里面逆转)

posted on 2015-09-20 21:44  Excavator  阅读(142)  评论(0编辑  收藏  举报

导航