赞
踩
面试题17:合并两个链表
题目:输入两个递增排序的链表,合并这两个链表并使新的链表依然保持递增排序。链表结点定义如下:
struct ListNode
{
int value;
ListNode* next;
}
这个题目在考研里就有属于比较简单的一类,本来不打算写上来看到答案中采用的递归的写法,代码非常的整洁干净一时心动就写了上来。
- ListNode* Merge(ListNode* pHead1,ListNode* pHead2)
- {
- if(pHead1 == NULL)
- {
- return pHead2;
- }
- if(pHead2 == NULL)
- {
- return pHead1;
- }
-
- ListNode* pMergeHead = NULL;
-
- if(pHead1->value < pHead2->value)
- {
- pMergedHead = pHead1;
- pMergedHead->next = Merge(pHead1->next,pHead2);
- }
- else
- {
- pMergedHead = pHead2;
- pMergedHead->next = Merge(pHead1,pHead2->next);
- }
- return pMergedHead;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。