/**
*
* @author gentleKay
* Merge two sorted linked lists and return it as a new list.
* The new list should be made by splicing together the nodes of the first two lists.
*
* 合并两个已排序的链接列表并将其作为新列表返回。
* 新列表应该通过拼接前两个列表的节点来创建。
*/
/** * * @author gentleKay * Merge two sorted linked lists and return it as a new list. * The new list should be made by splicing together the nodes of the first two lists. * * 合并两个已排序的链接列表并将其作为新列表返回。 * 新列表应该通过拼接前两个列表的节点来创建。 */ public class Main26 { public static void main(String[] args) { // TODO Auto-generated method stub ListNode l1 = new ListNode(1); l1.next = new ListNode(3); l1.next.next = new ListNode(5); ListNode l2 = new ListNode(2); l2.next = new ListNode(4); l2.next.next = new ListNode(6); l2.next.next.next = new ListNode(8); System.out.println(Main26.mergeTwoLists(l1, l2).val); } public static class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; } } public static ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode head = new ListNode(0); ListNode p = head; while (l1 != null && l2 != null) { if (l1.val < l2.val) { p.next = l1; l1 = l1.next; }else { p.next = l2; l2 = l2.next; } p = p.next; } if (l1 != null) { p.next = l1; } if (l2 != null) { p.next = l2; } return head.next; } }