合并两个排序的链表
2015-09-28 09:55
169 查看
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序。
测试用例:
功能测试(输入的两个链表有多个结点,结点的值互不相同或者存在值相等的多个结点)
特殊输入测试(两个链表的一个或者两个头结点为NULL指针、两个链表中只有一个结点)
struct ListNode{ int m_nValue; ListNode* m_pNext; }
ListNode* Merge(ListNode* pHead1, ListNode* pHead2){ if (pHead1 == NULL){ return pHead2; } else if (pHead2 == NULL){ return pHead1; } ListNode* pMergedHead = NULL; if (pHead1->m_nValue < pHead2->m_nValue){ pMergedHead = pHead1; pMergedHead->m_pNext = Merge(pHead1->m_pNext, pHead2); } else { pMergedHead = pHead2; pMergedHead->m_pNext = Merge(pHead1, pHead2->m_pNext); } return pMergedHead; }
测试用例:
功能测试(输入的两个链表有多个结点,结点的值互不相同或者存在值相等的多个结点)
特殊输入测试(两个链表的一个或者两个头结点为NULL指针、两个链表中只有一个结点)
相关文章推荐
- [C/C++]反转链表
- 用VBScript写合并文本文件的脚本
- C#实现基于链表的内存记事本实例
- oracle列合并的实现方法
- 使用BAT一句话命令实现快速合并JS、CSS
- SQL 合并多行记录的方法总汇
- C#实现简单合并word文档的方法
- C#自适应合并文件的方法
- C语言实现带头结点的链表的创建、查找、插入、删除操作
- C++实现简单的学生管理系统
- GridView单元格合并
- 如何合并多个 .NET 程序集
- 使用UglifyJS合并/压缩JavaScript的方法
- 高性能WEB开发 JS、CSS的合并、压缩、缓存管理
- 多个js与css文件的合并方法详细说明
- 使用不同的方法结合/合并两个JS数组
- Linux内核链表实现过程
- C++链表倒序实现方法
- C#通过链表实现队列的方法
- C#实现的简单链表类实例