首页 > 代码库 > 从尾到头打印链表
从尾到头打印链表
题目描述
输入一个链表,从尾到头打印链表每个节点的值。
输入描述:
输入为链表的表头
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 };
从尾到头打印链表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。