牛客剑指Offer面试题25:合并两个排序的链表
2020-01-13 01:29
483 查看
1.两链表分别比较两链表头节点值,小的则为合并后链表头节点.相同操作继续比较剩余两链表直至结束.
2.鲁棒性(有空链表):
一空+二 => 二
一+二空 =>一
空+空=>空
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
/* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution { public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { //如果两个链表一个为空,则合并后的链表即为另一个链表 if(pHead1 == nullptr) return pHead2; else if(pHead2 == nullptr) return pHead1; //两链表均不空 ListNode* pMergedHead = nullptr; if(pHead1->val < pHead2->val) { pMergedHead = pHead1; pMergedHead->next = Merge(pHead1->next, pHead2); } else { pMergedHead = pHead2; pMergedHead->next = Merge(pHead1, pHead2->next); } return pMergedHead; } };
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 剑指offer面试题25:合并两个排序的链表(c++ 递归+非递归)
- 剑指offer面试题25:合并两个排序的链表-java
- 【剑指offer】面试题 25:合并两个排序的链表
- 剑指Offer面试题25:合并两个排序的链表
- 【剑指offer】面试题25:合并两个排序的链表
- 剑指Offer 面试题25:合并两个排序的链表(递归+非递归) Java代码实现
- 剑指offer 面试题17—合并两个排序的链表
- 【剑指offer】面试题17:合并两个排序的链表
- 【剑指Offer面试题】 九度OJ1519:合并两个排序的链表
- 【剑指offer 面试题17】合并两个排序的链表
- 剑指offer面试题[17]-合并两个排序的链表
- 剑指offer-面试题17.合并两个排序的链表
- 剑指Offer--面试题17:合并两个排序的链表--Java实现
- 【剑指Offer】面试题17:合并两个排序的链表
- 剑指Offer25:合并两个排序的链表
- 剑指offer之面试题17 :合并两个排序的链表
- 剑指面试题25-合并两个排序的链表
- 剑指offer面试题17——合并两个排序的链表
- 剑指Offer:面试题17——合并两个排序的链表
- 剑指offer之面试题17 :合并两个排序的链表