题目:
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 ListNode mergeTwoLists(ListNode l1, ListNode l2){if (l1 == null){return l2;}if (l2 == null){return l1;}ListNode head = null;ListNode end = null;ListNode first = l1;ListNode second = l2;while (first != null && second != null){int temp1 = first.val;int temp2 = second.val;if (temp1 <= temp2){if (head == null){head = first;end = head;}else{end.next = first;end = end.next;}first = first.next;}else{if (head == null){head = second;end = head;}else{end.next = second;end = end.next;}second = second.next;}}//两个链表的长度不同时,当一方遍历完毕,另一方剩余的元素全部接到新的链表中if (first != null){end.next = first;}if (second != null){end.next = second;}return head;}
,同生天地间,为何我不能。