关闭

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

标签: 翻转链表剑指offer
246人阅读 评论(0) 收藏 举报
分类:

一、题目描述

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

二、输入描述

输入为链表的表头

三、输出描述

使用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;
    }
};
0
0
查看评论

【剑指offer】从尾到头打印单链表

题目描述: 输入一个链表,从尾到头打印链表每个节点的值。 输入: 每个输入文件仅包含一组测试样例。 每一组测试案例包含多行,每行一个大于0的整数,代表一个链表的节点。第一行是链表第一个节点的值,依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表。 输出: 对应每个测试案例,以从尾到头的顺序...
  • mmc_maodun
  • mmc_maodun
  • 2014-05-05 10:08
  • 3199

剑指offer面试题——从尾到头打印链表

题目描述 输入一个链表,从尾到头打印链表每个节点的值。 在线编程链接见:从尾到头打印链表 输入描述: 输入为链表的表头 输出描述: 输出为需要打印的“新链表”的表头 分析:这题看似比较简单,但是其实有很多思路可以解决。下面作一个简单的总结。 思路1:遍历链表,采用头插法将每个元素插入...
  • JIEJINQUANIL
  • JIEJINQUANIL
  • 2016-08-05 13:28
  • 417

<剑指Offer>输入一个链表,从尾到头打印链表每个节点的值---Java版本

//从今天开始,在苦逼写论文的空闲,争取一天做一道题。再此记录,激励自己,希望大家都共勉,有理解错误等希望大家指正 import java.util.ArrayList; import java.util.Stack; /////////////////////////////////////...
  • u010674768
  • u010674768
  • 2017-03-29 21:00
  • 280

剑指offer--python --c++--从尾到头打印链表

输入一个链表,从尾到头打印链表每个节点的值。 python解法:先将链表中的值插入到序列l中,之后再将序列逆置,则输出序列即可 def printListFromTailToHead(self, listNode): l=[] while listNode...
  • suanzhaogao
  • suanzhaogao
  • 2017-05-24 11:39
  • 492

从尾到头打印链表(java)

题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。 通常打印是一个只读操作,我们不希望打印时修改内容。 接下来我们想到解决这个问题肯定要遍历链表。遍历的顺序是从头到尾的顺序,可输出的顺序却是从尾到头。也就是说第一个遍历到的结点最后一个输出,而最后一个遍历到的结点第一个输出。这就是典型...
  • u013238950
  • u013238950
  • 2016-03-03 10:17
  • 2067

Python :从尾到头打印链表

牛客网上的剑指 offer的在线编程: 题目描述: 输入一个链表,从尾到头打印链表每个节点的值 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # ...
  • Lynette_bb
  • Lynette_bb
  • 2017-06-18 11:44
  • 643

从尾到头打印链表(Java)

题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。**解析:很多人第一反应是从头到尾输出将会比较简单,于是自然想到把链表中连接结点的指针反转过来,改变链表的方向即可。但该方法会改变原来链表的结构,是否允许在打印链表的时候修改链表的结构,这点取决于面试官的需求。 **通常打印是一个只读操...
  • IDog149tao
  • IDog149tao
  • 2017-03-23 19:25
  • 285

C语言实现 从尾到头打印链表每个节点的值(链表学习 二)

#include #include #include #define LEN sizeof(struct Student) //初始化链表 struct Student{ long num; float score; struct Student *next; }; int ...
  • zpf_nevergiveup
  • zpf_nevergiveup
  • 2017-08-20 21:24
  • 291

剑指offer-Java-从尾到头打印链表

题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。 方式1:非递归的实现 public class PrintListReverse{ public static void main (String args[]) { ListNode node1=new ListNode();...
  • zcl1359205840
  • zcl1359205840
  • 2016-08-26 14:47
  • 322

两种方法实现:输入一个链表,从尾到头打印链表每个节点的值

在《剑指offer》书中第五题:从尾到头打印链表每个节点的数值。
  • Echo_lin
  • Echo_lin
  • 2015-08-18 00:08
  • 2313
    个人资料
    • 访问:88411次
    • 积分:1614
    • 等级:
    • 排名:千里之外
    • 原创:75篇
    • 转载:0篇
    • 译文:0篇
    • 评论:20条
    友情链接
    最新评论