码迷,mamicode.com
首页 > 其他好文 > 详细

从尾到头打印链表

时间:2016-09-01 16:13:00      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

题目描述

输入一个链表,从尾到头打印链表每个节点的值。 
输入描述:
输入为链表的表头
 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          /*
14          解题思路:(没有带头结点)
15          1、从尾到头打印链表每个节点的值,先将链表反转,然后从头到尾一次打印
16         */
17         ListNode *node=head;//第一元素的指针
18         ListNode *preNode=NULL;   //前一个节点的指针(必须从NULL开始)
19         ListNode *nextNode=NULL;  //后一个节点的指针
20         while(node){
21             nextNode=node->next;
22             node->next=preNode;
23             preNode=node;
24             node=nextNode;
25         }
26        vector<int> v;
27        while(preNode){  //打印链表
28            v.push_back(preNode->val);
29            preNode=preNode->next;
30        }
31       return v;
32     }
33 };

 

从尾到头打印链表

标签:

原文地址:http://www.cnblogs.com/dingou/p/5830138.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!