首页 > 代码库 > leetcode_21_Merge Two Sorted Lists

leetcode_21_Merge Two Sorted Lists

描述:

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;
    }


结果:

技术分享

leetcode_21_Merge Two Sorted Lists