(21)-(Merge Two Sorted Lists)-(将两个单链表进行合并)-(注意while(l1!=null)和(l1.next!=null)的用法差异,temp是不是需要每一个申请内存)
public class Solution
{
public ListNode mergeTwoLists(ListNode l1,ListNode l2)
{
ListNode final_ans=new ListNode(0);
ListNode temp=final_ans;
if(l1==null)
{
return l2;
}
if(l2==null)
{
return l1;
}
//两个都还有元素的时候
while(l1!=null &&l2!=null)
{
if(l1.val<l2.val)
{
//因为temp.next为null
temp.next=new ListNode(0);
temp.next.val=l1.val;
temp=temp.next;
l1=l1.next;
}
else
{
temp.next=new ListNode(0);
temp.next.val=l2.val;
temp=temp.next;
l2=l2.next;
}
}
while(l1!=null)
{
temp.next=new ListNode(0);
temp.next.val=l1.val;
temp=temp.next;
l1=l1.next;
}
while(l2!=null)
{
temp.next=new ListNode(0);
temp.next.val=l2.val;
temp=temp.next;
l2=l2.next;
}
return final_ans.next;
}
}