描述:
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.
思路:
好像是数据结构上面的原题,就不多说了,通过比较把两个链表一起就可以了。需要注意的就是两个链表的head谁当新表的head问题,当然谁小谁当head 了,先比较一下即可。
代码:
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if(l1==null)
return l2;
if(l2==null)
return l1;
ListNode listNew=null;
if(l1.val<l2.val)
{
listNew=l1;
l1=l1.next;
}
else
{
listNew=l2;
l2=l2.next;
}
ListNode pListNode=listNew;
while(l1!=null&&l2!=null)
{
if(l1.val<l2.val)
{
pListNode.next=l1;
pListNode=l1;
l1=l1.next;
}
else
{
pListNode.next=l2;
pListNode=l2;
l2=l2.next;
}
}
if(l1!=null)
pListNode.next=l1;
if(l2!=null)
pListNode.next=l2;
return listNew;
}
结果: