LeetCode--23. Merge k Sorted Lists
来源:互联网 发布:穿越火线刷装备软件 编辑:程序博客网 时间:2024/05/20 17:25
题目来源LeetCode.23 Merge k Sorted Lists
题意:将多个已经排好序的链表合并成一个排好序的链表
主要的思想就是课堂上所学的Divide and Conquer,将大问题分成若干个小问题。在这里可以将链表不断两两合并,最后形成的就是一个排好序的总的链表。
代码段如下:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* mergeKLists(vector<ListNode*>& lists) { if(lists.size() == 0)return NULL; while(lists.size() > 1){ ListNode *list1 = lists.front(); lists.erase(lists.begin()); ListNode *list2 = lists.front(); lists.erase(lists.begin()); ListNode *result= merge(list1,list2); lists.push_back(result); } return lists.front(); }private: ListNode *merge(ListNode *list1, ListNode *list2){ if(list1 == NULL){ return list2; } else if(list2 == NULL){ return list1; } else if(list1->val <= list2->val){ list1->next = merge(list1->next, list2); return list1; } else{ list2->next = merge(list1, list2->next); return list2; } }};
0 0
- leetcode 23. LeetCode Merge k Sorted Lists
- [LeetCode]23.Merge k Sorted Lists
- LeetCode --- 23. Merge k Sorted Lists
- LeetCode 23.Merge k Sorted Lists
- [Leetcode] 23. Merge k Sorted Lists
- 【LeetCode】23.Merge k Sorted Lists
- [leetcode] 23.Merge k Sorted Lists
- Leetcode-23.Merge k Sorted Lists
- [Leetcode]23. Merge k Sorted Lists @python
- leetcode 23. Merge k Sorted Lists
- leetcode 23. Merge k Sorted Lists
- leetcode 23. Merge k Sorted Lists
- LeetCode 23. Merge k Sorted Lists
- [leetcode] 23. Merge k Sorted Lists
- LeetCode 23. Merge k Sorted Lists
- LeetCode 23. Merge k Sorted Lists
- LeetCode-23.Merge k Sorted Lists
- Leetcode 23. Merge k Sorted Lists
- 腾讯云安全-云鼎实验室:黑客是如何实现数据库勒索的
- CCF 图像翻转
- ubuntu14 64位 JDK1.8改JDK1.7
- 求1+3+5+...+99的和
- VS2015 异常无法中断程序源代码
- LeetCode--23. Merge k Sorted Lists
- 获取当前目录
- 设计模式之策略模式
- 如何修改myeclipse的内存?eclipse.ini中各个参数的作用
- 垂直居中
- Python 3: ImportError “No Module named Setuptools”
- 华为机试1-10 Java实现
- 希尔排序
- 隐性改变display类型