当前位置: 首页 > news >正文

【d48】【Java】【力扣】LCR 123. 图书整理 I

思路

方法1:放进list,将list倒置,利用stream,将list改为int类型

方法2:递归:递归通用思路;明确每一层做什么+确定返回值+确定什么地方接收下层的返回值

每一层:调用下层,然后把自己放进数组,把数组返回给上层
确定返回值:返回本层添加后的list,确定调用下层的时候接收,

代码

方法1

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public int[] reverseBookList(ListNode head) {//遍历把所有节点放进listListNode cur=head;ArrayList<Integer> list = new ArrayList<>();while(cur!=null){list.add(cur.val);cur=cur.next;}//倒置这个Collections.reverse(list);//把list放进int[]int[] array = list.stream().mapToInt(Integer::intValue).toArray();return array;}
}

方法2

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public int[] reverseBookList(ListNode head) {if (head==null){return new int[0];}//递归:每一层做法:调用下层 ,然后把自己放进数组//头节点调用递归方法ArrayList<Integer> list = new ArrayList<>();list = diGui(head, list);int[] array = list.stream().mapToInt(Integer::intValue).toArray();return array;}//递归:调用下层,然后把自己放进数组,把数组返回给上层//确定返回值,确定调用下层的时候接收,public ArrayList<Integer> diGui (ListNode cur,ArrayList<Integer> list){if (cur.next!=null){list=diGui(cur.next,list);}list.add(cur.val);return list;}}

记录

总结

http://www.lryc.cn/news/444853.html

相关文章:

  • 【MySQL】InnoDB 索引为什么使用B+树而不用跳表?
  • 【学习笔记】TLS/SSL握手之Records
  • 【MySQL】创建新账号新数据库并授权
  • Nginx反向代理简介,作用及配置;Nginx负载均衡简介,作用及配置;
  • SAP MIGO M7146不支持移动原因
  • vue使用PDF.JS踩的坑--部署到服务器上显示pdf.mjs viewer.mjs找不到资源
  • 重型工程车辆数据集
  • 【Kubernetes】常见面试题汇总(三十三)
  • ubuntu安装无线网卡驱动(非虚拟机版)
  • 保障电气安全的电气火灾监控系统主要组成有哪些?
  • gitlab集成CI/CD,shell方式部署
  • UE学习篇ContentExample解读-----------Blueprint_Mouse_Interaction
  • 得物App荣获新奖项,科技创新助力高质量发展
  • 傅里叶变换(对称美)
  • 基于单片机与 PC 机通信的数据采集控制系统设计
  • MyBatis参数处理
  • Beyond 5.5旗舰版和高级版激光软件
  • python爬虫/引用requests/基本使用
  • 输电线塔目标检测数据集yolo格式该数据集包括2644张输电线塔高清图像,该数据集已经过yolo格式标注,具有完整的txt标注文件和yaml配置文件。
  • MySQL之基本查询(二)(update || delete || 聚合函数 || group by)
  • 全栈开发(五):初始化前端项目(nuxt3+vue3+element-plus)+前端代理
  • Linux环境变量进程地址空间
  • C++读取txt文件中的句子在终端显示,同时操控鼠标滚轮(涉及:多线程,产生随机数,文件操作等)
  • Android 中使用高德地图实现根据经纬度信息画出轨迹、设置缩放倍数并定位到轨迹路线的方法
  • LeetCode从入门到超凡(二)递归与分治算法
  • superset 解决在 mac 电脑上发送 slack 通知的问题
  • SQL_UNION
  • 高等代数笔记(2)————(弱/强)数学归纳法
  • 模拟自然的本质:与IBM量子计算研究的问答
  • Robot Operating System——带有时间戳和坐标系信息的多边形信息