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

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

在这里插入图片描述

描述

输入两个递增的链表,单个链表的长度为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 hereif (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 5ListNode 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 6ListNode 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.lryc.cn/news/198568.html

相关文章:

  • Springboot结合Mockito写单元测试实践和原理
  • 操作系统之微内核架构
  • 24---WPF缓存
  • vite+vue3.0 使用tailwindcss
  • C++QT---QT-day3
  • 小程序如何搭建在服务器上
  • JavaEE初阶学习:Servlet
  • 黑白二维码不好看,那么快学习改色的方法吧
  • coreldraw2024版本有哪些新增功能?
  • 2023最新Office2021专业增强版安装使用教程
  • 实时配送跟踪功能的实现:外卖跑腿小程序的技术挑战
  • react实现一维表格、键值对数据表格key value表格
  • 个人微信CRM客户管理系统怎么选?功能介绍
  • Mac Intellij Idea get/set方法快捷键
  • 并发程序设计
  • openGauss学习笔记-104 openGauss 数据库管理-管理数据库安全-客户端接入之SSL证书管理-证书替换
  • react仿照antd progress实现可自定义颜色的直角矩形进度条
  • 【网络安全】被恶意攻击的IP地址有多可怕?
  • Guava-RateLimiter详解
  • 【C++11】右值引用、移动构造、移动赋值、完美转发 的原理介绍
  • Python【理解标识符的定义】
  • AR智能眼镜主板设计方案_AR眼镜PCB板设计
  • 【SA8295P 源码分析 (三)】79 - AIS Camera Event 事件处理函数 AisEngine::EventHandler() 源码分析
  • Web安全测试详解
  • react配置 axios
  • 【图解RabbitMQ-5】RabbitMQ Web管控台图文介绍
  • GoogleNet论文精读
  • 智能指针shared_ptr简介及小例子
  • 机器人精确移动包
  • 强化学习环境报错解决