合并单链表 -->
一、解决方法:
- 确保两个单链表不为空,且二者皆有序(若无序,则先进行排序)
- 创建新的单链表,并比较原本两个单链表数据大小,较小者置于新单链表中
- 逐步将两个单链表的数据置于新单链表中,直至二者为空
二、程序代码:
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; }
时间: 2024-09-29 03:53:49