《剑指offer》(面试题5):从头到尾打印链表
2018-01-30 21:56
232 查看
题目描述
输入一个链表,从尾到头打印链表每个节点的值。如果可以修改原来链表的结构,那么把链表中链接结点的指针反转过来,改变链表的方向,然后就可以从头到尾输出了。
但是,打印通常是一个只读操作,我们不希望打印时修改内容,所以就得想别的办法。
循环
接下来我们想到解决这个问题肯定要遍历链表。顺序是从头到尾的顺序,可输出的顺序确实从尾到头。也就是说第一个遍历到的结点最后一个输出,而最后一个遍历到的结点第一个输出。这就是典型的“后进先出”,我们可以用栈实现这种顺序。每经过一个结点的时候,把该节点放到一个栈中。当遍历完整个链表后,再从栈顶开始逐个输出结点的值,此时输出的节点的顺序已经反转过来了。python 代码实现:
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回从尾部到头部的列表值序列,例如[1,2,3] def printListFromTailToHead(self, listNode): # write code here l = [] head = listNode while head: l.insert(0, head.val) head = head.next return l
相关文章推荐
- 《剑指Offer》面试题-从头到尾打印链表
- 剑指offer编程题Java实现——面试题5从头到尾打印链表
- 《剑指Offer》面试题-从头到尾打印链表
- 《剑指offer》面试题5 从头到尾打印链表
- 剑指offer面试题之从头到尾打印链表
- 剑指Offer面试题5(Java版):从尾到头打印链表
- 剑指offer—从头到尾打印链表
- 面试题5 从头到尾打印链表
- 《剑指Offer》面试题五之从尾到头打印链表
- 面试题5 从头到尾打印链表
- 剑指Offer(第二版)面试题6:从尾到头打印链表
- 剑指offer之面试题5:从尾到头打印链表
- 剑指Offer-【面试题05:从头到尾打印链表】
- 剑指Offer面试题5反向打印链表
- 剑指offer--面试题6:从头到尾打印链表
- 《剑指offer》面试题5—从尾到头打印链表
- 单链表面试题(二)从头到尾打印单链表
- 剑指offer面试题5:从尾到头打印链表
- 剑指offer 面试题5 从尾到头打印链表(栈实现)