以下是合并两个有序链表的示例main方法调用:\n\njava\npublic class Main {\n public static void main(String[] args) {\n // 创建两个有序链表\n ListNode l1 = new ListNode(1);\n l1.next = new ListNode(2);\n l1.next.next = new ListNode(4);\n\n ListNode l2 = new ListNode(1);\n l2.next = new ListNode(3);\n l2.next.next = new ListNode(4);\n\n // 调用合并两个有序链表的方法\n ListNode mergedList = mergeTwoLists(l1, l2);\n\n // 打印合并后的链表\n while (mergedList != null) {\n System.out.print(mergedList.val + " ");\n mergedList = mergedList.next;\n }\n }\n\n public static ListNode mergeTwoLists(ListNode l1, ListNode l2) {\n // 创建一个虚拟头节点,用于方便操作\n ListNode dummy = new ListNode(0);\n ListNode current = dummy;\n\n // 遍历两个链表,比较节点的值,将较小的节点连接到合并后的链表中\n while (l1 != null && l2 != null) {\n if (l1.val < l2.val) {\n current.next = l1;\n l1 = l1.next;\n } else {\n current.next = l2;\n l2 = l2.next;\n }\n current = current.next;\n }\n\n // 如果其中一个链表已经遍历完了,直接将另一个链表剩余部分连接到合并后的链表中\n if (l1 != null) {\n current.next = l1;\n } else {\n current.next = l2;\n }\n\n // 返回合并后的链表\n return dummy.next;\n }\n}\n\nclass ListNode {\n int val;\n ListNode next;\n\n ListNode(int val) {\n this.val = val;\n }\n}\n\n\n运行结果为:1 1 2 3 4 4

Java 合并两个有序链表:示例代码和运行结果

原文地址: https://www.cveoy.top/t/topic/p3P8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录