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

数字**笔试题--链表翻转与list排序笔试题

面试的笔试题:
1、给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
2、通过方法 addElement(int e) 一个个的插入元素到 List (非自动排序)。
现在要求任何时候这个 List 都是有序的。比如,依次插入11、4、6、13、2、5、9、11、1、3、5,我希望 List 的顺序是1、2、3、4、5、5、6、9、11、11、13。
时间30分钟,我直接写第二题,没写出来,真有点拉。面完复盘一下,其实都挺简单,静下心来20分钟两道题就整完了。两年前的我肯定当场就解出来了,现在的我竟然被业务冲昏了头脑,整天想着select、DO、DTO简化业务主流程,当前好歹也是leetcode的常驻嘉宾,悲哀
第一题解法:

//定义node节点
class Node {private Node next;private Integer value;public Node(Integer value) {this.value = value;}public Node getNext() {return next;}public void setNext(Node next) {this.next = next;}public Integer getValue() {return value;}public void setValue(Integer value) {this.value = value;}}//构建nodepublic static Node buildNode() {Node node1 = new Node(1);Node node2 = new Node(2);Node node3 = new Node(3);Node node4 = new Node(4);Node node5 = new Node(5);node1.setNext(node2);node2.setNext(node3);node3.setNext(node4);node4.setNext(node5);return node1;}//链表翻转public static Node reserve(Node head) {Node prev = null;Node current = head;while (current != null) {//取当前节点的next节点的引用Node tail = current.next; //将当前节点的next指向上一个节点current.next = prev;//上一个节点指向当前节点prev = current;//当前节点设置为下一个节点 继续循环current = tail;}return prev;}

第二题解法:挺无语啊,很简单的竟然没整出来。

private static List<Integer> list = new LinkedList<>();public static void main(String[] args) {addElement(11);addElement(4);addElement(6);addElement(13);addElement(2);addElement(5);addElement(9);addElement(11);addElement(1);addElement(3);addElement(5);System.out.println(list);}private static void addElement(int e) {//list为空直接插入返回if (list.size() == 0) {list.add(e);return;}for (int i=0; i<list.size(); i++) {if (list.get(i) > e) {list.add(i,e);break;}}}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Day 21
  • 智慧农场数字港系统设计与实现
  • fastDDS-gen编译
  • 生成订单幂等性(防止订单重复提交)
  • 职场上,不想受气,就要气场强大,以下三招见效
  • Java哈希算法
  • 【RTOS面试题】ISR中可以使用互斥锁和信号量吗?
  • 21. 合并两个有序链表(递归)
  • 代码随想录算法训练营Day22 | Leetcode 77 组合 Leetcode 216 组合总和Ⅲ Leetcode17 电话号码的字母组合
  • 基于内地城市生活垃圾收运场景的路线规划算法
  • 服务器 Linux 的网络信息
  • 【网络安全】探索AI 聊天机器人工作流程实现RCE
  • Unity补完计划 之 SpriteEditer SingleMode
  • 【C++】C++入门基础【类与对象】
  • HslCommunicationDemo各品牌Plc通信测试软件工具
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【翻译】babel对TC39装饰器草案的实现
  • 〔开发系列〕一次关于小程序开发的深度总结
  • conda常用的命令
  • Docker: 容器互访的三种方式
  • Java小白进阶笔记(3)-初级面向对象
  • js
  • leetcode98. Validate Binary Search Tree
  • mysql常用命令汇总
  • npx命令介绍
  • Python十分钟制作属于你自己的个性logo
  • REST架构的思考
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Swoft 源码剖析 - 代码自动更新机制
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 工作手记之html2canvas使用概述
  • 聊聊flink的TableFactory
  • 前端工程化(Gulp、Webpack)-webpack
  • 使用 @font-face
  • 通信类
  • 微信小程序设置上一页数据
  • 优化 Vue 项目编译文件大小
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 交换综合实验一
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​水经微图Web1.5.0版即将上线
  • # include “ “ 和 # include < >两者的区别
  • #07【面试问题整理】嵌入式软件工程师
  • #传输# #传输数据判断#
  • %check_box% in rails :coditions={:has_many , :through}
  • (11)MSP430F5529 定时器B
  • (175)FPGA门控时钟技术
  • (libusb) usb口自动刷新
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (离散数学)逻辑连接词
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐