合并两个排序链表-LintCode
2017-08-16 16:56
316 查看
将两个排序链表合并为一个新的排序链表
样例
给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。
样例
给出 1->3->8->11->15->null,2->null, 返回 1->2->3->8->11->15->null。
#ifndef C165_H #define C165_H #include<iostream> using namespace std; class ListNode{ public: int val; ListNode *next; ListNode(int val) { this->val = val; this->next = NULL; } }; class Solution { public: /** * @param ListNode l1 is the head of the linked list * @param ListNode l2 is the head of the linked list * @return: ListNode head of linked list */ ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) { // write your code here if (l1 == NULL) return l2; if (l2 == NULL) return l1; ListNode *p1 = l1, *p2 = l2; ListNode *lst = new ListNode(-1); ListNode *q = lst; while (p1 != NULL||p2 != NULL) { if (p1 != NULL&&p2 != NULL) { if (p1->val < p2->val) { q->next = p1; p1 = p1->next; q = q->next; } else { q->next = p2; p2 = p2->next; q = q->next; } } else if (p1 == NULL&&p2 != NULL) { q->next = p2; p2 = p2->next; q = q->next; } else if (p1 != NULL&&p2 == NULL) { q->next = p1; p1 = p1->next; q = q->next; } } return lst->next; } }; #endif
相关文章推荐
- LintCode 合并两个排序链表
- 合并两个排序链表-LintCode
- LintCode 165合并两个排序链表
- lintcode ----合并两个排序链表
- LintCode 第165题 合并两个排序链表
- LintCode 合并两个排序链表
- lintcode-合并两个排序链表 -165
- LintCode 合并两个排序链表
- LintCode 合并两个排序链表
- Lintcode 165合并两个排序链表
- lintcode 容易题 :Merge Two Sorted Lists合并两个排序链表
- 合并两个排序链表(LintCode)
- LintCode-合并两个排序链表
- 【链表】[Lintcode]合并两个排序链表
- lintcode——合并两个排序链表
- LintCode : 合并两个排序链表
- LintCode -合并两个排序链表
- [LintCode]165.合并两个排序链表
- Lintcode 合并两个排序的链表
- python_lintcode_93. 平衡二叉树_165. 合并两个排序链表_453. 将二叉树拆成链表