这次一口气放9道题~LeetCode23题,Hard!归并K个有序链表。使用堆来做,一开始把K个链表的第一个元素放进数组,然后建堆。之后取出第一个元素(如果这个元素是nil元素,直接退出)放进归并后的链表,再从这个元素所在的链表取第一个元素放到原来元素的位子上,然后重新维护堆性..
分类:
其他好文 时间:
2015-04-02 11:49:58
阅读次数:
192
思路:用归并排序。对一个链表采用递归进行二等分,直到每个部分有序,然后对其进行合并。其实就是两步,先分解,然后合并有序链表。代码://对链表采用递归排序class Solution {public: ListNode* sortList(ListNode* head){ if(h...
分类:
编程语言 时间:
2015-03-31 00:23:10
阅读次数:
224
问题定义:
写一个函数SortedMerge函数,该函数有两个参数,都是递增的链表,函数的功能就是合并这两个递增的链表为一个递增的链表,SortedMerge的返回值是新的链表。新链表由前两个链表按元素递增顺序合并而成,也就是说它不会创建新的元素。
比如:这里有两个链表,分别是
list1: 5->10->15
list2: 2->3->20
Sort...
分类:
其他好文 时间:
2015-03-29 12:22:38
阅读次数:
117
1 #include 2 3 struct Node 4 { 5 int data; 6 Node *next; 7 }; 8 9 typedef struct Node Node; 10 11 Node *Reverse(Node *head) 12 { ...
分类:
编程语言 时间:
2015-03-12 13:03:13
阅读次数:
168
比如 1->2->2->3,删除重复后,变为1->3。void delDup(Node* head){ Node node; node.next = head; Node* n1, n2; n1 = node; n2 = node->next; int d...
分类:
其他好文 时间:
2015-03-11 17:02:16
阅读次数:
185
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.这道题是要求把有序链表转为二叉搜索树,和之前那道Convert Sorted Ar...
分类:
其他好文 时间:
2015-02-18 08:24:13
阅读次数:
160
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.
这道题是让合并两个有序链表。增设一个头结点。下面贴上代码:#include
using name...
分类:
其他好文 时间:
2015-02-12 21:27:59
阅读次数:
262
题目 这道题是链表的简单应用,将两个有序链表合成一个有序链表。 思路是:表一,表二各取两个对象,分别指向current和next,进行交叉比较排序。Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nod...
分类:
其他好文 时间:
2015-02-11 12:48:27
阅读次数:
148
问题定义:
写一个函数SortedMerge函数,该函数有两个参数,都是递增的链表,函数的功能就是合并这两个递增的链表为一个递增的链表,SortedMerge的返回值是新的链表。新链表由前两个链表按元素递增顺序合并而成,也就是说它不会创建新的元素。
比如:这里有两个链表,分别是
list1: 5->10->15
list2: 2->3->20
SortedMerge函数返...
分类:
其他好文 时间:
2015-02-10 01:52:57
阅读次数:
157
#include #include typedef struct _Node{ int value; struct _Node *next;}Node;Node *MergeList(Node *listA, Node *listB);void PrintList(Node *head);int m...
分类:
其他好文 时间:
2015-02-04 21:35:44
阅读次数:
159