文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给您一个不可变的链表,使用下列接口逆序打印每个节点的值:

  • ImmutableListNode: 描述不可变链表的接口,链表的头节点已给出。

您需要使用以下函数来访问此链表(您 不能 直接访问 ImmutableListNode):

  • ImmutableListNode.printValue():打印当前节点的值。
  • ImmutableListNode.getNext():返回下一个节点。

输入只用来内部初始化链表。您不可以通过修改链表解决问题。
也就是说,您只能通过上述 API 来操作链表。

进阶:
您是否可以:
使用常数级空间复杂度解决问题?
使用线性级时间复杂度和低于线性级空间复杂度解决问题?

示例 1:
输入:head = [1,2,3,4]
输出:[4,3,2,1]示例 2:
输入:head = [0,-4,-1,3,-5]
输出:[-5,3,-1,-4,0]示例 3:
输入:head = [-2,0,6,4,4,-6]
输出:[-6,4,4,6,0,-2]提示:
链表的长度在 [1, 1000] 之间。
每个节点的值在 [-1000, 1000] 之间。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/print-immutable-linked-list-in-reverse
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

/*** // This is the ImmutableListNode's API interface.* // You should not implement it, or speculate about its implementation.* class ImmutableListNode {* public:*    void printValue(); // print the value of the node.*    ImmutableListNode* getNext(); // return the next node.* };*/class Solution {//C++
public:void printLinkedListInReverse(ImmutableListNode* head) {if(!head)return;printLinkedListInReverse(head->getNext());head->printValue();}
};

0 ms 6.8 MB

# """
# This is the ImmutableListNode's API interface.
# You should not implement it, or speculate about its implementation.
# """
# class ImmutableListNode:
#     def printValue(self) -> None: # print the value of this node.
#     def getNext(self) -> 'ImmutableListNode': # return the next node.class Solution: # py3def printLinkedListInReverse(self, head: 'ImmutableListNode') -> None:if not head:returnself.printLinkedListInReverse(head.getNext())head.printValue()

56 ms 14.3 MB


长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 1265. 逆序打印不可变链表(递归)相关推荐

  1. 1265. 逆序打印不可变链表

    1265. 逆序打印不可变链表 给您一个不可变的链表,使用下列接口逆序打印每个节点的值: ImmutableListNode: 描述不可变链表的接口,链表的头节点已给出. 您需要使用以下函数来访问此链 ...

  2. 算法习题---线性表之单链表逆序打印

    一:题目 逆序打印单链表中的数据,假设指针指向单链表的开始结点 二:思路 1.可以使用递归方法,来进行数据打印 2.可以借助数组空间,获取长度,逆序打印数组 3.若是可以,对链表数据使用头插法,逆序排 ...

  3. 【链表】逆序打印链表

    1 public class Main { 2 3 // 逆序打印链表 4 public void reversePrint(Node node) { 5 if (node == null){ 6 r ...

  4. C++实现链表逆序打印、链表反转

    //题目:C++实现链表逆序打印.链表反转 // 如何将链表逆序,取决于题目的要求.如果面试官只要求打印,一般不改动链表结构为好,如果要求改变链表的方向,则需要改变结构,再顺序打印. // 方法1:只 ...

  5. 数据结构与算法java - 03 链表,单向链表,逆序打印单向链表

    链表 Linked List 有序 链表是以节点的方式来存储,链式存储 每个节点包含 data 域, next 域:指向下一个节点 链表的各个节点不一定是连续存放 链表分带头节点的链表和没有头节点的链 ...

  6. 【链表】C++链表反转、链表逆序打印

    转载地址:http://blog.csdn.net/yebanxin/article/details/51942598 题目:C++实现链表逆序打印.链表反转 如何将链表逆序,取决于题目的要求.如果面 ...

  7. 【链表】C++链表反转、链表逆序打印(三)

    题目:C++实现链表逆序打印.链表反转 如何将链表逆序,取决于题目的要求.如果面试官只要求打印,一般不改动链表结构为好,如果要求改变链表的方向,则需要改变结构,再顺序打印. 方法1:只逆序打印,不改变 ...

  8. python逆序打印出各位数字_Python练习题 024:求位数及逆序打印

    [Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- ...

  9. 【C 语言】字符串模型 ( 字符串翻转模型 | 借助 递归函数操作 逆序打印字符串 | 递归要素 | 递归停止条件 | 递归操作 )

    文章目录 一.借助 递归函数操作 逆序打印字符串 二.完整代码示例 一.借助 递归函数操作 逆序打印字符串 递归需要掌握下面 222 个点 : 参数入栈模型 : 第 111 次 , "sdh ...

最新文章

  1. 《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——02-08项目人力资源(Human Resource)管理...
  2. Activity采用栈式管理的理解
  3. hdu 2049 不容易系列之(4)——考新郎
  4. C语言与Java怎么沟通_c语言初学指针,对于java面向对象的初理解
  5. springmvc学习(一)
  6. java远程调用linux的命令或者脚本
  7. 新年快乐轮播特效html,基于owl-carousel的卡片水平轮播展示特效
  8. python可变类型与不可类型
  9. Using Sqoop 1.4.6 With Hadoop 2.7.4
  10. mysql的压缩版安装
  11. java下载配置步骤_Java环境构建-JDK下载,安装和配置步骤
  12. Maven依赖下载速度慢,不用怕,这么搞快了飞起
  13. kvm初体验之八:调整vm的vcpu, memory, disk大小
  14. 【Spark ML】第 3 章:监督学习
  15. 能查阅国外文献的8个论文网站(最新整理)
  16. 华三模拟器(防火墙)实现IPSEC穿越NAT实验
  17. k8s-kubeadm安装(五 网络插件calico)
  18. vs2008+vss2005实现代码管理
  19. 使用Bandwagon服务器ftp解决git clone速度慢的问题
  20. mysql的UNIX_TIMESTAMP用法

热门文章

  1. Random Forest算法参数解释及调优
  2. SVM之交叉验证【转】
  3. linux学习交流群,求linux(ubuntu)学习交流群
  4. stdin,stdout,stderr
  5. C++远航之封装篇——类外定义和::
  6. 获取指定日期所属年份的第一天日期或最后一天日期
  7. python 全栈开发,Day63(子查询,MySQl创建用户和授权,可视化工具Navicat的使用,pymysql模块的使用)...
  8. Raspbian 中国软件源
  9. 银联Apple Pay 总结
  10. 单机 amp; 弱联网手游 防破解、金币改动 简单措施