链表笔试题汇编(四)
来源:互联网 发布:仿起点小说php源码 编辑:程序博客网 时间:2024/05/16 14:16
题目:合并两个有序链表。
递归实现参考代码:
LinkList *Merge(LinkList *pHead1,LinkList *pHead2){if(pHead1==NULL){return pHead2;}else if(pHead2==NULL){return pHead1;}LinkList *pNewMergeHead=NULL;if((pHead1->data) < (pHead2->data)){pNewMergeHead=pHead1;pNewMergeHead->next=Merge(pHead1->next,pHead2);}else{pNewMergeHead=pHead2;pNewMergeHead->next=Merge(pHead1,pHead2->next);}return pNewMergeHead;}
非递归实现参考代码:
pLinkNode Merge(pList L1,pList L2)//合并两个有序链表{pLinkNode newHead=NULL;if(L1==L2){return L1;//相等时返回任意值均可}if( (L1==NULL) && (L2!=NULL) ) {return L2;}if( (L1!=NULL) && (L2==NULL) ){return L1;}if(L1->data < L2->data){newHead=L1;L1=L1->next;}else{newHead=L2;L2=L2->next;}pLinkNode cur=newHead;while(L1 && L2) {if(L1->data < L2->data){cur->next=L1;L1=L1->next;}else{cur->next=L2;L2=L2->next;}cur=cur->next;}if(L1)//L2或L1为空后{cur->next=L1;}else{cur->next=L2;}return newHead;}
本文出自 “七月朔风” 博客,请务必保留此出处http://luminous.blog.51cto.com/10797288/1743529
0 0
- 链表笔试题汇编(四)
- 链表笔试题汇编(一)
- 链表笔试题汇编(二)
- 链表笔试题汇编(三)
- 链表笔试题汇编(五)
- 笔试题(四)
- 笔试题练习(四)
- 阿里笔试题(四)
- java笔试题(四)
- C++常见笔试题汇编
- 汇编实验(四)
- 一道“简单”的笔试题 (c /c++ ,汇编)
- .net笔试题(四附答案)
- .net笔试常见题(四) webservice
- java 面试 笔试题 大全 (四)
- .NET笔试题集(四)
- IT公司笔试题总结(四)
- IT公司笔试题(四)
- 面试题:数值的整数次方
- Linux的inode的理解
- 链表笔试题汇编(一)
- 链表笔试题汇编(二)
- 链表笔试题汇编(三)
- 链表笔试题汇编(四)
- 利用C++日期类实现简单的日期计算器
- string类的实现
- string类的实现加强版
- string类的实现终极版
- 利用C++类实现顺序表
- C++实现单链表
- IT忍者神龟之基于cookie的WEB自动登陆功能设计和账户安全性
- 链表笔试题汇编(五)