剑指offer面试题-合并两个有序链表
来源:互联网 发布:网络直播发展的弊端 编辑:程序博客网 时间:2024/05/17 04:57
- 题目:
输入两个递增有序的链表,合并这两个链表并使新链表中的结点仍然是有序的,具体示例如下图,链表结点定义如下:
struct ListNoe{ ListNoe() :_next(NULL) , _data(0) {} ListNoe *_next; int _data;};
解法一:循环
ListNoe * Merge(ListNoe *pHead1, ListNoe *pHead2){ if (!pHead1) return pHead2; if (!pHead2) return pHead1; //两个链表一定不为空 ListNoe *pHead3 = NULL; ListNoe *pPre = NULL; if (pHead1->_data <= pHead2->_data) { pHead3 = pHead1; pPre = pHead1; pHead1 = pHead1->_next; } else if (pHead1->_data > pHead2->_data) { pHead3 = pHead2; pPre = pHead2; pHead2 = pHead2->_next; } while (pHead1 && pHead2) { if (pHead1->_data <= pHead2->_data) { pPre->_next = pHead1; pPre = pHead1; pHead1 = pHead1->_next; } else if (pHead1->_data > pHead2->_data) { pPre->_next = pHead2; pPre = pHead2; pHead2 = pHead2->_next; } } if (!pHead1) { pPre->_next = pHead2; } if (!pHead2) pPre->_next = pHead1; return pHead3;}
解法二:递归
ListNoe * Merge(ListNoe *pHead1, ListNoe *pHead2){ if (!pHead1) return pHead2; if (!pHead2) return pHead1; ListNoe *pPre = NULL; if (pHead1->_data <= pHead2->_data) { pPre = pHead1; pPre->_next = Merge(pHead1->_next, pHead2); } else { pPre = pHead2; pPre->_next = Merge(pHead1, pHead2->_next); } return pPre;}
完整代码详见
https://coding.net/u/Hyacinth_Dy/p/MyCode/git/blob/master/%E5%90%88%E5%B9%B6%E6%9C%89%E5%BA%8F%E9%93%BE%E8%A1%A8%E5%92%8Co1%E4%B8%8B%E6%B1%821%E5%8A%A0%E5%88%B0n%E7%9A%84%E5%92%8C7-13
阅读全文
0 0
- 剑指offer 面试题17 合并两个有序链表
- 剑指Offer---面试题17:合并两个有序链表
- 剑指offer面试题-合并两个有序链表
- 【面试题】剑指Offer-17-合并两个有序的单链表
- 面试题:合并两个有序链表
- 剑指offer----合并两个有序链表
- 《剑指offer》合并两个有序链表
- 剑指offer-合并两个有序链表
- 剑指offer面试题17合并两个有序的单链表之后还有序(递归)
- 《剑指Offer》面试题:合并两个排序的链表
- 剑指offer面试题 合并两个排序的链表
- 剑指offer-面试题17 合并两个递增链表
- 剑指offer面试题17-:合并两个排序链表
- 合并两个有序链表(面试题 17)
- 【面试题17】将两个有序的链表合并
- 面试题:合并两个有序的链表
- 剑指offer面试题17,18:反转链表+合并有序链表
- 面试题19:合并两个排序的链表(offer)
- 提问的力量三:提问式思维----你是学习者还是评判者?
- bzoj 2724 蒲公英 分块
- Ubuntu添加环境变量
- Java面试题全集(下)
- vi命令
- 剑指offer面试题-合并两个有序链表
- android设备导出word
- c语言容易忽略的点
- 普通话(如何区分前鼻音与后鼻音)
- ubuntu 与 windows 共享文件
- tomcat的使用和注意
- 提问的力量四:提问的艺术-体验学习中提问的技巧
- Android WebView 详解
- JavaScript绕过简单原理(1)