LeetCode Merge Two Sorted Lists C++
2017-08-10 13:18
423 查看
#include <iostream> #include <vector> #include<algorithm> #include <queue> using namespace std; /************************************************************************/ /* Problem: Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. For example, Given linked list: 1->2->3->4->5, Given linked list: 2->3->4->5->6; output: 1-2-2-3-3-4-4-5-5-6; linklist ; Note: Author : crazys_popcorn@126.com DateTime: 2017年8月10日 13:16:07 */ /************************************************************************/ struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; class Solution { public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if (l1 == NULL && l2 == NULL) return NULL; ListNode *newlist = new ListNode(0); ListNode *head = newlist; while (l1 != NULL ||l2 !=NULL) { if (l2 == NULL || l1 == NULL) { if (l1 == NULL) { head->next = l2; head = head->next; l2 = l2->next; } else { head->next = l1; head = head->next; l1 = l1->next; } continue; } if (l1->val > l2->val) { head->next = l2; head = head->next; l2 = l2->next; } else if (l1->val < l2->val) { head->next = l1; head = head->next; l1 = l1->next; } else { head->next = l2; head = head->next; l2 = l2->next; } } return newlist->next; } }; void main() { ListNode *t1 = new ListNode(0); ListNode *t2 = new ListNode(0); ListNode *t3 = new ListNode(0); ListNode *t4 = new ListNode(0); t1->val = 4; t2->val = 4; t3->val = 4; t4->val = 5; t1->next = t2; t2->next = t3; t3->next = t4; ListNode *tt1 = new ListNode(0); ListNode *tt2 = new ListNode(0); ListNode *tt3 = new ListNode(0); ListNode *tt4 = new ListNode(0); tt1->val = 1; tt2->val = 2; tt3->val = 3; tt4->val = 4; tt1->next = tt2; tt2->next = tt3; tt3->next = tt4; Solution s1; ListNode *temp = s1.mergeTwoLists(t1, tt1); system("pause"); return ; }
相关文章推荐
- Leetcode 21. Merge Two Sorted Lists(C++)
- LeetCode 21. Merge Two Sorted Lists(C++版)
- LeetCode 之 Merge Two / k Sorted Lists — C/C++ 实现
- [LeetCode] 021. Merge Two Sorted Lists (Easy) (C++/Python)
- 【LeetCode-21】 Merge Two Sorted Lists(C++)
- 【C++】【LeetCode】21. Merge Two Sorted Lists
- LeetCode 21 — Merge Two Sorted Lists(C++ Java Python)
- leetcode_c++:链表:Merge Two Sorted Lists(021)
- [C++]LeetCode: 13 Merge Two Sorted Lists
- [C++]LeetCode 21: Merge Two Sorted Lists(合并链表)
- leetcode_[python/C++]_21. Merge Two Sorted Lists(合并有序链表)
- leetcode 21 Merge Two Sorted Lists C++
- [LeetCode]21. Merge Two Sorted Lists(C++)
- 【leetcode c++】21 Merge Two Sorted Lists
- LeetCode刷题(C++)——Merge Two Sorted Lists(Easy)
- Leetcode 21 Merge Two Sorted Lists
- leetcode Merge Two Sorted Lists 2.9 难度系数2
- 算法分析与设计课程——LeetCode刷题之Merge Two Sorted Lists
- [leetcode]#21. Merge Two Sorted Lists
- LeetCode:Merge Two Sorted Lists