合并两个有序链表
2017-03-01 18:00
274 查看
/* 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; if (pHead2 == nullptr) return pHead1; ListNode *p1 = pHead1, *p2 = pHead2; ListNode *head3 = nullptr; if (p1->val > p2->val) { head3 = p2; p2 = p2->next; } else { head3 = p1; p1 = p1->next; } ListNode *tmp = head3; while (p1 != nullptr && p2 != nullptr) { if (p1->val < p2->val) { tmp->next = p1; tmp = p1; p1 = p1->next; } else { tmp->next = p2; tmp = p2; p2 = p2->next; } } if (p1 != nullptr) { tmp->next = p1; } if (p2 != nullptr) { tmp->next = p2; } return head3; } };
相关文章推荐
- 将两个有序链表合并成一个有序链表
- 有序的合并两个有序链表
- 两个有序链表合并
- 将两个递增的有序链表合并为一个递增的有序链表(C语言编程实现)
- 九度1519题 合并两个有序链表java实现,(也是剑指offer中的题)
- 将两个递增的有序链表合并为一个递增的有序链表
- 将两个非递减的有序链表合并为一个非递增的有序链表(C语言编程实现)
- 两个有序链表的合并
- LeetCode - 21. 合并两个有序链表
- 剑指offer14--将两个有序链表合并
- (杂)百度实习的一道题链表逆序,合并两个有序链表
- 链表操作(将两个链表合并成一个链表依然有序,非递归方法和迭代方法)
- 7-15 两个有序链表序列的合并(20 分)
- 合并两个有序链表
- 面试题:合并两个有序的链表
- 剑指offer面试题-合并两个有序链表
- 两个有序链表的合并问题
- 5-51 两个有序链表序列的合并 (20分)
- Programming Ability Test学习 2-11. 两个有序链表序列的合并(15)
- 将两个有序链表head1 head2,合并为一个链表