博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《剑指Offer》JZ3:从尾到头打印链表
阅读量:4091 次
发布时间:2019-05-25

本文共 1238 字,大约阅读时间需要 4 分钟。

本系列文章为《剑指Offer》刷题笔记。

刷题平台:

在这里插入图片描述
思路

【python】头插法

对于python来讲,我们可以直接使用列表的插入方法,每次插入数据,只插入在首位。

# -*- coding:utf-8 -*-# class ListNode:#     def __init__(self, x):#         self.val = x#         self.next = Noneclass Solution:    # 返回从尾部到头部的列表值序列,例如[1,2,3]    def printListFromTailToHead(self, listNode):        # write code here        result=[]        while listNode:            result.insert(0, listNode.val)            listNode = listNode.next        return result

在这里插入图片描述

【C】

通常,这种情况下,我们不希望修改原链表的结构。返回一个反序的链表,这就是经典的“后进先出”,我们可以使用栈实现这种顺序。每经过一个结点的时候,把该结点放到一个栈中。当遍历完整个链表后,再从栈顶开始逐个输出结点的值,给一个新的链表结构,这样链表就实现了反转。

/***  struct ListNode {*        int val;*        struct ListNode *next;*        ListNode(int x) :*              val(x), next(NULL) {*        }*  };*/class Solution {
public: vector
printListFromTailToHead(ListNode* head) {
stack
nodes; vector
result; ListNode* node = head; while(node != NULL){
nodes.push(node->val); node = node->next; } while(!nodes.empty()){
result.push_back(nodes.top()); nodes.pop(); } return result; }};
参考 https://cuijiahua.com/blog/2017/11/basis_3.html

转载地址:http://uyjii.baihongyu.com/

你可能感兴趣的文章
SSM-CRUD(2)---查询
查看>>
SSM-CRUD (3)---查询功能改造
查看>>
Nginx(2)---安装与启动
查看>>
springBoot(5)---整合servlet、Filter、Listener
查看>>
C++ 模板类型参数
查看>>
C++ 非类型模版参数
查看>>
设计模式 依赖倒转原则 & 里氏代换原则
查看>>
DirectX11 光照
查看>>
图形学 图形渲染管线
查看>>
DirectX11 计时和动画
查看>>
DirectX11 光照与材质的相互作用
查看>>
DirectX11 法线向量
查看>>
DirectX11 兰伯特余弦定理(Lambert)
查看>>
DirectX11 漫反射光
查看>>
DirectX11 环境光
查看>>
DirectX11 镜面光
查看>>
DirectX11 三种光照组成对比
查看>>
DirectX11 指定材质
查看>>
DirectX11 平行光
查看>>
DirectX11 点光
查看>>