合并单链表 -->

一、解决方法:

  1. 确保两个单链表不为空,且二者皆有序(若无序,则先进行排序)

  2. 创建新的单链表,并比较原本两个单链表数据大小,较小者置于新单链表中

  3. 逐步将两个单链表的数据置于新单链表中,直至二者为空

二、程序代码:

ListNode* MergeList(ListNode *L1,ListNode *L2)//合并两个单链表{	ListNode *newHead=NULL;	ListNode *tail=NULL;	if(L1==NULL)	{		return L2;	}	if(L2==NULL)	{		return L1;	}	if(L1->_data < L2->_data)	{		newHead=L1;		L1=L1->_next;	}	else	{		newHead=L2;		L2=L2->_next;	}	tail=newHead;	while(L1 && L2)	{		if(L1->_data < L2->_data)		{			tail->_next=L1;			L1=L1->_next;		}		else		{			tail->_next=L2;			L2=L2->_next;		}		tail=tail->_next;	}	if(L1)	{		tail->_next=L1;	}	if(L2)	{		tail->_next=L2;	}	return tail;}