合并两个有序链表
1、
public class MergeTwoSortedLists { // 方法:合并两个有序链表 public static ListNode mergeTwoLists(ListNode l1, ListNode l2) { // 创建一个虚拟节点作为合并后链表的头节点 ListNode dummy = new ListNode(0); ListNode current = dummy; // 遍历两个链表,依次取出较小的节点加入合并后的链表 while (l1 != null && l2 != null) { if (l1.val <= l2.val) { current.next = l1; l1 = l1.next; } else { current.next = l2; l2 = l2.next; } current = current.next; } // 如果有一个链表还剩下节点,直接连接到合并后的链表尾部 if (l1 != null) { current.next = l1; } else { current.next = l2; } // 返回合并后的链表的头节点 return dummy.next; }
2、递归
public class MergeTwoSortedLists { // 方法:递归合并两个有序链表 public static ListNode mergeTwoLists(ListNode l1, ListNode l2) { // 如果其中一个链表为空,则返回另一个链表 if (l1 == null) return l2; if (l2 == null) return l1; if (l1.val <= l2.val) { l1.next = mergeTwoLists(l1.next, l2); return l1; } else { l2.next = mergeTwoLists(l1, l2.next); return l2; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2018-08-14 Failed to read artifact ......明明之前可以的