您的位置:首页 > Web前端

《剑指offer》从尾到头打印链表

2016-05-30 17:34 351 查看

一、题目描述

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

二、输入描述

输入为链表的表头

三、输出描述

使用vector按链表从尾到头保存节点

四、牛客网提供的类框架

/**
*  struct ListNode {
*        int val;
*        struct ListNode *next;
*        ListNode(int x) :
*              val(x), next(NULL) {
*        }
*  };
*/
class Solution {
public:
vector<int> printListFromTailToHead(struct ListNode* head) {

}
};


五、解题思路

分两步

第一:先翻转链表

第二:对翻转后的链表从链头到链尾逐步保存节点

六、代码

/**
*  struct ListNode {
*        int val;
*        struct ListNode *next;
*        ListNode(int x) :
*              val(x), next(NULL) {
*        }
*  };
*/
class Solution {
public:
vector<int> printListFromTailToHead(struct ListNode* head) {
ListNode *newHead, *temp;
vector<int> vt;

while(head)
{
temp = head;
head = head->next;
temp->next = newHead;
newHead = temp;
}
while(newHead){
vt.push_back(newHead->val);
newHead = newHead->next;
}
return vt;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: