Java面试题:链表-合并两个排序的链表

news2024/10/5 14:21:18

在这里插入图片描述

描述

输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。

示例

输入:
{1,3,5}, {2,4,6}

返回值:
{1,2,3,4,5,6}

原题地址:https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337

代码实现

package com.example.demo.linked;


public class ListNode {
    int val;
    ListNode next = null;

    public ListNode(int val) {
        this.val = val;
    }
}

package com.example.demo.linked;

public class LinkUtil {
    public static void printNodeList(ListNode head) {
        ListNode current = head;

        while (current != null) {
            System.out.print(current.val + " ");
            current = current.next;
        }
        
        System.out.println();
    }
}
package com.example.demo.linked;

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * @param pHead1 ListNode类
     * @param pHead2 ListNode类
     * @return ListNode类
     */
    public ListNode Merge(ListNode pHead1, ListNode pHead2) {
        // write code here

        if (pHead1 == null) {
            return pHead2;
        } else if (pHead2 == null) {
            return pHead1;
        }

        ListNode head = new ListNode(0);
        ListNode current = head;

        while (true) {
            if (pHead1 == null) {
                current.next = pHead2;
                break;
            } else if (pHead2 == null) {
                current.next = pHead1;
                break;
            } else {
                if (pHead1.val <= pHead2.val) {
                    current.next = pHead1;
                    pHead1 = pHead1.next;
                } else {
                    current.next = pHead2;
                    pHead2 = pHead2.next;
                }

                current = current.next;
            }
        }

        return head.next;
    }

    public static void main(String[] args) {
        // 1 3 5
        ListNode listNode1 = new ListNode(1);
        ListNode listNode2 = new ListNode(3);
        ListNode listNode3 = new ListNode(5);

        listNode1.next = listNode2;
        listNode2.next = listNode3;
        LinkUtil.printNodeList(listNode1);

        // 2 4 6
        ListNode listNodeA = new ListNode(2);
        ListNode listNodeB = new ListNode(4);
        ListNode listNodeC = new ListNode(6);

        listNodeA.next = listNodeB;
        listNodeB.next = listNodeC;
        LinkUtil.printNodeList(listNodeA);

        // 合并链表
        ListNode listNode = new Solution().Merge(listNode1, listNodeA);

        LinkUtil.printNodeList(listNode);

    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1110446.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

域控操作三:给域用户本地管理员权限

登录本地管理账号 右键此电脑–管理–本地用户和组–组—双击administrators 一般来说会有本地管理账号和域控的已缓存账号 点击添加–高级–输入域控管理员账号 搜索这个电脑使用人添加进去。重启电脑即可

【Java】ArrayList集合使用

ArrayList集合常见方法 方法名称说明public boolean add(E e)将元素插入到指定位置的arraylist中&#xff0c;返回值&#xff1a;返回boolean类型public E remove(int index)删除 arraylist里的单个元素&#xff0c;返回值&#xff1a;返回删除之前的元素public E set(int inde…

ESP32集成开发环境Espressif-IDE安装 – Windows

陈拓 2023/10/15-2023/10/16 1. 概述 Espressif IDE是一个基于Eclipse CDT的集成开发环境&#xff08;IDE&#xff09;&#xff0c;用于使用ESP-IDF框架开发物联网应用程序。这是一个专门为ESP-IDF构建的独立定制IDE。Espressif IDE附带了IDF Eclipse插件、重要的Eclipse CDT插…

VMware下linux中ping报错unknown host的解决办法

一、错误截图 二、解决办法 2.1 按照步骤查看本机虚拟IP 依次点击&#xff1a;【编辑】》【虚拟网络编辑器】&#xff0c;选中NET模式所属的行&#xff0c;就能看到子网地址。 比喻&#xff0c;我的子网地址是&#xff1a;192.168.18.0 那么&#xff0c;接下来要配置的linux…

Pyside6 资源系统和资源文件使用

Pyside6 资源系统和资源文件使用 资源系统使用创建资源管理器编译qrc文件调用资源文件 在开发APP过程中&#xff0c;经常需要使用一些文件&#xff0c;图片之类的资源&#xff0c;这些资源都有一个特点&#xff0c;就是跟用户的使用环境无关&#xff0c;也就是说必须独立于系统…

留学教育咨询机构如何通过软文强势突围

近年来留学市场逐渐回暖&#xff0c;但是行业竞争也更加激烈&#xff0c;留学教育咨询机构想要在激烈的市场竞争中强势突围&#xff0c;除了优秀的职业素养&#xff0c;专业的服务态度外&#xff0c;还需要具备品牌形象打造和推广的能力&#xff0c;也有不少留学机构找盒子进行…

Altium Designer 20.2.3绘制51单片机最小系统

1、在电脑中建立一个自定义的文件夹&#xff0c;以备存储设计文件用。双击打开“X2.EXE” 运行文件&#xff0c;进入软件工作界面。 2、创建工程文件&#xff1a;单击“文件”菜单&#xff0c;选择“新的”选项中的“项目”选项&#xff0c;在“Project Name”中将工程文件保存…

忽略SSL证书校验过程,重写其中的certificateError方法

Qt实现简单的显示网页&#xff08;QtWebkit、QtWebEngine、QAxWidget&#xff09;_qt 显示网页-CSDN博客 更多QtWebkit资料 更多QtWebEngine资料 更多QAxWidget 资料 关于根据CEF封装QCef学习QCef及CEF学习 Qt WebEngine&#xff08;01&#xff09;&#xff1a;Qt WebEngin…

3D一代拳王

欢迎来到程序小院 一代拳王 玩法&#xff1a; 鼠标点击下方技能出拳&#xff0c;长按鼠标进行防御&#xff0c;不同种类的拳王&#xff0c;攻击力、速度、体质不同等级&#xff0c;快去解锁全部拳王进行拳王争霸吧^^。开始游戏https://www.ormcc.com/play/gameStart/191 html …

做好库存周转,再也不用担心企业效益

库存周转率对于企业的库存管理来说具有非常重要的意义。例如制造商&#xff0c;它的利益是由资金→原材料→产品→销售→资金的循环活动中产生的&#xff0c;如果这种循环很快也就是周转快时&#xff0c;在同额资金下的利益率也就高。 因此&#xff0c;周转的速度代表了企业利…

python文件中设置环境变量

import os os.environ[KMP_DUPLICATE_LIB_OK] True

已经拒了3个Offer了,心痛

今天早上在刷到这样一个帖子&#xff0c;如标题所见&#xff1a;已经拒了3个Offer了&#xff0c;心痛。今年的行情就是这样&#xff0c;旱的旱死涝的涝死&#xff0c;有的小伙伴在苦苦等一个 offer&#xff0c;对&#xff0c;一个就行&#xff1b;有的小伙伴就必须在多个 offer…

模块电源(五):DC-自举电容

一、DC控制器 1、TLV62569&#xff08;不需自举电容&#xff09; TLV62569数据手册中&#xff0c;典型应用电路如下所示&#xff1a; 2、MT2492&#xff08;需要自举电容&#xff09; MT2492数据手册中&#xff0c;典型应用电路如下所示&#xff1a;其中 C2 为自举电容 二、…

关闭计算机时弹出等待后台程序关闭提示的处理方法

1、单击“开始运行”&#xff0c;输入gpedit.msc&#xff0c;然后在运行过程中按Enter。 2、然后打开组策略编辑器并展开&#xff1a;计算机配置→管理模板→系统→关闭选项。 3、双击关闭右侧将阻止或取消关闭应用程序的自动终止功能。在属性中将其设置为Enabled并完成设置。

Go语言入门心法(十):Go语言操作MYSQL(CRUD)|事务处理

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 Go语言入门心法(六): HTTP面向客户端|服务端编程 Go语言入门心法(八): mysql驱动安装报错onnection failed Go语言入门心法(…

在前端html页面中向服务器发送post登录请求

目录 前言 搭建服务器 搭建前端登录页面 获取表单值 使用axios发送post登录请求 前言 一般在html页面中向服务器发送post请求的模块为登录请求&#xff0c;本文将介绍如何向服务器发送post请求 搭建服务器 如何搭建服务器请看JWT认证这篇文章&#xff0c;有详细的解说。…

垃圾邮件(短信)分类算法实现 机器学习 深度学习 计算机竞赛

文章目录 0 前言2 垃圾短信/邮件 分类算法 原理2.1 常用的分类器 - 贝叶斯分类器 3 数据集介绍4 数据预处理5 特征提取6 训练分类器7 综合测试结果8 其他模型方法9 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 垃圾邮件(短信)分类算…

SVN一直报错Error running context: 由于目标计算机积极拒绝,无法连接。解决办法【杭州多测师_王sir】...

一、发现SVN一直报错Error running context: 由于目标计算机积极拒绝&#xff0c;无法连接。 二、没有启动 VisualSVN Server。cmd--> services.msc打开本地服务。查看VisualSVN的三个服务的启动类型&#xff0c;建议选择“手动”&#xff0c;不能选择“禁用”&#xff0c;选…

跨境电商自养号测评:如何配置安全可靠的网络环境?

随着全球化的加速和互联网的普及&#xff0c;跨境电商已经逐渐成为全球电子商务的主流形式。越来越多的企业开始涉足跨境电商领域&#xff0c;希望通过跨越国界的贸易活动来扩大市场份额、提高品牌影响力&#xff0c;以及增加企业收益。 然而跨境电商是一个充满机遇和挑战的领…

C++入门(c++历史篇)

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 重点 1. 什么是C2. C的发展…