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

合并两个有序的单链表,合并之后的链表依然有序

 定义节点 

class ListNode {var next: ListNode = _var x: Int = _def this(x: Int) = {thisthis.x = x}override def toString: String = s"x=>$x"
}

 定义方法 

class LinkedList {var head = new ListNode(0)def getHead(): ListNode = this.headdef add(listNode: ListNode): Unit = {var temp = this.headwhile (temp.next != null) {temp = temp.next}temp.next = listNode}def list(listNode: ListNode): Unit = {var temp = head.nextwhile (temp.next != null) {println(s"$temp")temp = temp.next}}def compair(head1: ListNode, head2: ListNode): ListNode = {var node1 = head1.nextvar node2 = head2.next//定义输出节点val head = new ListNode()var current = new ListNode()head.next = current //将head的next指向currentwhile (node1 != null && node2 != null) {if (node1.x < node2.x) {current.x = node1.xcurrent.next = new ListNode()current = current.nextnode1 = node1.next} else {current.x = node2.xcurrent.next = new ListNode()current = current.nextnode2 = node2.next}}while (node1 != null) {current.x = node1.xcurrent.next = new ListNode()current = current.nextnode1 = node1.next}while (node2 != null) {current.x = node2.xcurrent.next = new ListNode()current = current.nextnode2 = node2.next}head}}

主函数

package Algotithmobject LinkedListDemo {def main(args: Array[String]): Unit = {val list1 = new LinkedListfor (i <- 1 to 5 by 2) {val node = new ListNode(i)list1.add(node)}println(s"list1=========")list1.list(list1.getHead())val list2 = new LinkedListfor (i <- 1 to 10 by 3) {val node = new ListNode(i)list2.add(node)}println(s"list2=========")list2.list(list2.getHead())println(s"=====================")val list3 = new LinkedListval node = list3.compair(list1.getHead(), list2.getHead())list3.head = node // 将 node 赋值给 list3 的头节点list3.list(node)}}

结果

总结

 1、定义方法时,需要重新new节点,将值付给该节点

 2、调用方法得到节点之后,需要将该节点赋值给 list 的头节点

相关文章:

合并两个有序的单链表,合并之后的链表依然有序

定义节点 class ListNode {var next: ListNode _var x: Int _def this(x: Int) {thisthis.x x}override def toString: String s"x>$x" } 定义方法 class LinkedList {var head new ListNode(0)def getHead(): ListNode this.headdef add(listNode: Li…...

eureka迁移到nacos--双服务中心注册

服务注册中心的迁移有多种方式&#xff0c;官网使用nacos sync&#xff0c;还有民间开发的双注册中心组件eureka-nacos-proxy&#xff0c;但是我用了不太顺利&#xff0c;所以用的是阿里巴巴的双注册中心组件edas-sc-migration-starter spring boot&#xff1a;2.5.3 引入依赖 …...

线程池使用不规范导致线程数大以及@Async的规范使用

文章详细内容来自&#xff1a;线程数突增&#xff01;领导&#xff1a;谁再这么写就滚蛋&#xff01; 下面是看完后文章的&#xff0c;一个总结 线程池的使用不规范&#xff0c;导致程序中线程数不下降&#xff0c;线程数量大。 临时变量的接口&#xff0c;通过下面简单的线…...

启莱OA treelist.aspx SQL注入

子曰&#xff1a;“为政以德&#xff0c;譬如北辰&#xff0c;居其所&#xff0c;而众星共之。” 漏洞复现 访问漏洞url&#xff1a; 使用SQLmap对参数 user 进行注入 漏洞证明&#xff1a; 文笔生疏&#xff0c;措辞浅薄&#xff0c;望各位大佬不吝赐教&#xff0c;万分感…...

ES是一个分布式全文检索框架,隐藏了复杂的处理机制,核心数据分片机制、集群发现、分片负载均衡请求路由

ES是一个分布式框架&#xff0c;隐藏了复杂的处理机制&#xff0c;核心数据分片机制、集群发现、分片负载均衡请求路由。 ES的高可用架构&#xff0c;总体如下图&#xff1a; 说明&#xff1a;本文会以pdf格式持续更新&#xff0c;更多最新尼恩3高pdf笔记&#xff0c;请从下面…...

xml和json互转工具类

分享一个json与xml互转的工具类&#xff0c;非常好用 一、maven依赖 <!-->json 和 xm 互转</!--><dependency><groupId>org.dom4j</groupId><artifactId>dom4j</artifactId><version>2.1.3</version></dependency&g…...

Windows系统下MMDeploy预编译包的使用

Windows系统下MMDeploy预编译包的使用 MMDeploy步入v1版本后安装/使用难度大幅下降&#xff0c;这里以部署MMDetection项目的Faster R-CNN模型为例&#xff0c;将PyTorch模型转换为ONNX进而转换为Engine模型&#xff0c;部署到TensorRT后端&#xff0c;实现高效推理&#xff0c…...

yolov5自定义模型训练二

前期准备好了用于训练识别是否有火灾的数据集后就可以开始修改yolo相关文件来进行训练 数据集放到yolov5目录里 在data目录下新建yaml文件设置数据集信息如下 在model文件夹下新增新的model文件 开始训练 训练出错 确认后是对训练数据集文件夹里的文件名字有要求&#xff0c;原…...

Spring框架获取用户真实IP(注解式)

文章目录 一、最终使用效果&#xff08;ClientIp 注解获取&#xff09;二、实现代码1.注解2.方法参数解析器&#xff08;Resolver&#xff09;3.全局增加Resolver配置 Spring 框架没有现成工具可以方便提取客户端的IP地址&#xff0c;普遍做法就是通过 HttpServletRequest 的 g…...

利用 IDEA IDE 的轻量编辑模式快速查看和编辑工程外的文本文件

作为程序员, 我们都知道 IDE 的很好用的, 它的文本编辑器功能也非常的强大, 用起来非常便捷. 在长年累月的使用中, 我们也变得对其非常熟悉, 以致于使用起其它简单地轻量级的文本编辑器来, 比如什么记事本, Notepad, UltraEdit 等等呀, 觉得既不方便又不熟悉. 关键是很多的操作…...

MyBatisx代码生成

MyBatisx代码生成 1.创建数据库表 CREATE TABLE sys_good (good_id int(11) NOT NULL,good_name varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,good_desc varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,PRIMARY KEY (good_id) ) ENGINEInnoDB DEFAULT CHA…...

【日记】文章更新计划

首发博客地址[1] 状态 这两天也没加班&#xff0c;也没干什么活。不知道怎么回事&#xff0c;到家就想睡觉。所以这两天睡得很早&#xff0c;基本上 11 点之前就睡了&#xff0c;文章也就鸽了两天。 计划 今早起来感觉还是要自律&#xff0c;我写文章的初衷是为了学习。基于这个…...

UML用例图三种关系(重点)-架构真题(十七)

某项目包括A、B、C、D四道工序&#xff0c;各道工序之间的衔接关系、正常进度下各工序所需的时间和直接费用、赶工进度下所需的时间和直接费用如下表所示。该项目每天需要间接费用为4.5万元&#xff0c;根据此表&#xff0c;最低成本完成需要&#xff08;&#xff09;天。&…...

分层解耦介绍

三层架构 Controller&#xff1a;控制层&#xff0c;接受前端发送的请求&#xff0c;对请求进行处理&#xff0c;并响应数据 service&#xff1a;业务逻辑层&#xff0c;处理具体业务逻辑 dao&#xff1a;数据访问层&#xff0c;负责数据访问操作&#xff0c;包括数据的增、删、…...

Nginx百科之gzip压缩、黑白名单、防盗链、零拷贝、跨域、双机热备

引言 早期的业务都是基于单体节点部署&#xff0c;由于前期访问流量不大&#xff0c;因此单体结构也可满足需求&#xff0c;但随着业务增长&#xff0c;流量也越来越大&#xff0c;那么最终单台服务器受到的访问压力也会逐步增高。时间一长&#xff0c;单台服务器性能无法跟上业…...

git通过fork-merge request实现多人协同

一、问题 对于一个项目&#xff0c;如果需要多人协同开发&#xff0c;大家都在原始仓库中进行修改提交&#xff0c;经常会发生冲突&#xff0c;而且一不小心会把别人的代码内容覆盖掉。为了避免这样的问题&#xff0c;git提供了fork-merge request这样的协同方式。 二、仓库框…...

元素居中的方法总结

目录 垂直居中 行内元素垂直居中 单行文本垂直居中 1.line-height: 200px; 多行文本垂直居中 1.tablevertical-align:middle 块级元素垂直居中 1.display: flex;align-items: center; 2.使用position top margin-top 水平居中 行内元素水平居中 1.text-align:cente…...

后端面试话术集锦第一篇:spring面试话术

这是后端面试集锦第一篇博文——spring面试话术❗❗❗ 1. 介绍一下spring 关于spring,我们平时做项目一直都在用,不管是使用ssh还是使用ssm,都可以整合。 Spring主要就三点,也就是核心思想: IOC控制反转 DI依赖注入 AOP切面编程 我先说说IOC吧,IOC就是spring里的控制反…...

elasticsearch8.9.1集群搭建

目录 1.官网文档 2.安装步骤 2.1 环境准备 2.2 添加用户 2.3 修改文件profile文件 2.4 修改elasticsearch.yml 2.5 修改 sysctl.conf 3.启动 3.1 切换到kibana 3.2 启动elasticsearch 3.3 启动kibana 3.4 验证节点情况 1.官网文档 elasticsearch文档&#xff1a;ht…...

前端调用电脑摄像头

项目中需要前端调用&#xff0c;所以做了如下操作 先看一下效果吧 主要是基于vue3&#xff0c;通过canvas把画面转成base64的形式&#xff0c;然后是把base64转成 file文件&#xff0c;最后调用了一下上传接口 以下是代码 进入页面先调用一下摄像头 navigator.mediaDevices.ge…...

突破数据瓶颈:6大创新方法让时间序列模型性能提升150%

突破数据瓶颈&#xff1a;6大创新方法让时间序列模型性能提升150% 【免费下载链接】Time-Series-Library A Library for Advanced Deep Time Series Models for General Time Series Analysis. 项目地址: https://gitcode.com/GitHub_Trending/ti/Time-Series-Library 在…...

OpenClaw安全实验室:SecGPT-14B+Metasploit自动化漏洞验证环境

OpenClaw安全实验室&#xff1a;SecGPT-14BMetasploit自动化漏洞验证环境 1. 为什么需要自动化漏洞验证环境 作为安全研究员&#xff0c;我每天要处理大量漏洞扫描报告。最头疼的不是发现漏洞&#xff0c;而是验证这些漏洞的真实性——手动复现每个漏洞需要反复切换工具、整理…...

5步精通ComfyUI IPAdapter多模态图像引导配置实战指南

5步精通ComfyUI IPAdapter多模态图像引导配置实战指南 【免费下载链接】ComfyUI_IPAdapter_plus 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_IPAdapter_plus 在AI图像生成领域&#xff0c;IPAdapter作为连接文本与视觉的桥梁&#xff0c;为创作者提供了前所…...

2026年亲测有效:合肥无人机培训案例分享

行业痛点分析随着无人机技术的飞速发展&#xff0c;其在各个领域的应用越来越广泛。然而&#xff0c;无人机行业也面临着一些核心技术挑战。首先&#xff0c;无人机的操作和维护需要专业的知识和技能&#xff0c;而市场上缺乏足够的专业人才。根据行业数据显示&#xff0c;目前…...

文墨共鸣部署案例:中小企业低成本部署水墨风语义分析SaaS前端

文墨共鸣部署案例&#xff1a;中小企业低成本部署水墨风语义分析SaaS前端 1. 项目介绍与价值 文墨共鸣是一个将深度学习技术与传统水墨美学完美结合的语义分析系统。这个项目专门为中文文本设计&#xff0c;能够智能分析两段文字之间的语义相似度&#xff0c;判断它们是"…...

软萌拆拆屋惊艳效果:多层叠穿服饰逐层展开结构图生成案例

软萌拆拆屋惊艳效果&#xff1a;多层叠穿服饰逐层展开结构图生成案例 1. 引言&#xff1a;当AI遇见“拆解美学” 想象一下&#xff0c;你有一件设计精巧的洛丽塔裙子&#xff0c;上面缀满了蕾丝、蝴蝶结和复杂的褶皱。你想向别人展示它的每一个精妙细节&#xff0c;但一张普通…...

intv_ai_mk11基础教程:打开即用的Llama文本生成器使用全流程详解

intv_ai_mk11基础教程&#xff1a;打开即用的Llama文本生成器使用全流程详解 1. 快速了解intv_ai_mk11 intv_ai_mk11是一个基于Llama架构的中等规模文本生成模型&#xff0c;特别适合日常办公和内容创作场景。想象一下&#xff0c;你有一个随时待命的文字助手&#xff0c;可以…...

Hunyuan-MT-7B多语翻译实战:跨境电商独立站商品页SEO多语内容批量生成

Hunyuan-MT-7B多语翻译实战&#xff1a;跨境电商独立站商品页SEO多语内容批量生成 1. 项目背景与价值 跨境电商独立站面临的最大挑战之一&#xff0c;就是如何为不同语言市场的用户提供本地化的商品内容。传统的人工翻译方式成本高、效率低&#xff0c;而机器翻译又往往无法保…...

像素剧本圣殿参数详解:Qwen2.5-14B-Instruct温度值、top_p与剧本创意波动关系

像素剧本圣殿参数详解&#xff1a;Qwen2.5-14B-Instruct温度值、top_p与剧本创意波动关系 1. 创作引擎核心参数解析 像素剧本圣殿的核心创作能力源自Qwen2.5-14B-Instruct模型&#xff0c;其中温度值(temperature)和top_p参数直接影响剧本生成的创意表现。这两个参数就像导演…...

小杰云商城系统源码/小程序源码平台/电商系统源码/完整版/全开源

小杰云商城系统源码 完整版 全开源 基于多款经典商城深度优化重构&#xff0c;不管是功能、颜值、安全、流畅度&#xff0c;直接给你干到天花板! 完美适配易支付V2和mapi支付&#xff0c;拿到手简单配置就能上线运营&#xff0c;不用你再费劲改接口! 功能多到爆炸&#xff0…...