题目:输入两个递增排序的链表,合并这两个链表并使得新链表中的结点也是按照递增排序的。
链表的结点定义如下:
struct ListNode
{
int m_key;
ListNode* m_next;
};
ListNode* SortListNode(ListNode* oneHead,ListNode* twoHead)
{
if(oneHead==NULL)
return twoHead ;
else if(twoHead==NULL)
return oneHead;
ListNode *pNewHead=NULL;//新建链表3
if(oneHead->m_key<twoHead->m_key)
{
pNewHead=oneHead;
/*pNewHead=pNewHead->m_next;
oneHead=oneHead->m_next;*/
pNewHead->m_next=SortListNode(oneHead->m_next,twoHead);
}
else
{
pNewHead=twoHead;
/*pNewHead=pNewHead->m_next;
twoHead=twoHead->m_next;*/
pNewHead->m_next=SortListNode(twoHead->m_next,oneHead);
}
return pNewHead;
}