剑指 Offer 25. 合并两个排序的链表
Posted lisin-lee-cooper
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指 Offer 25. 合并两个排序的链表相关的知识,希望对你有一定的参考价值。
一、题目描述
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
示例1:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
限制:
0 <= 链表长度 <= 1000
二. 示例代码
public class MergeSortedNode
public static void main(String[] args)
ListNode listNode1 = new ListNode(1);
ListNode listNode2 = new ListNode(2);
ListNode listNode3 = new ListNode(4);
listNode1.next = listNode2;
listNode2.next = listNode3;
ListNode listNode4 = new ListNode(1);
ListNode listNode5 = new ListNode(3);
ListNode listNode6 = new ListNode(4);
listNode4.next = listNode5;
listNode5.next = listNode6;
ListNode result = mergeSortedNode(listNode1, listNode4);
System.out.println(result);
private static ListNode mergeSortedNode(ListNode listNode1, ListNode listNode4)
if (listNode1 == null)
return listNode4;
if (listNode4 == null)
return listNode1;
ListNode result = new ListNode(-1);
ListNode dummy = result;
while (listNode1 != null && listNode4 != null)
if (listNode1.val <= listNode4.val)
dummy.next = new ListNode(listNode1.val);
listNode1 = listNode1.next;
else
dummy.next = new ListNode(listNode4.val);
listNode4 = listNode4.next;
dummy = dummy.next;
dummy.next = listNode1 != null ? listNode1 : listNode4;
return result.next;
以上是关于剑指 Offer 25. 合并两个排序的链表的主要内容,如果未能解决你的问题,请参考以下文章