2.6 给定一个有环链表,实现一个算法返回环路的开头结点。类似leetcode中Linked List Cycle IIC++实现代码:#include#includeusing namespace std;struct ListNode{ int val; ListNode *next...
分类:
其他好文 时间:
2014-12-04 00:43:56
阅读次数:
250
Sort a linked list using insertion sort.链表的插入排序,算法可参看数组插入排序,不同之处在于查找插入点时,链表要从前往后查找。代码如下: 1 ListNode *insertionSortList(ListNode *head) 2 { 3 ...
分类:
其他好文 时间:
2014-12-03 23:07:23
阅读次数:
155
1 //单链表反转 2 ListNode* RevertList(ListNode* m_pHead){ 3 ListNode* pCurrent = m_pHead; 4 ListNode* pPrev=NULL; 5 ListNode* pNext =NULL; 6 ...
分类:
其他好文 时间:
2014-12-03 21:03:16
阅读次数:
167
Sort a linked list inO(nlogn) time using constant space complexity./** * Definition for singly-linked list. * struct ListNode { * int val; * L...
分类:
其他好文 时间:
2014-12-03 12:12:42
阅读次数:
188
Sort a linked list using insertion sort./** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNo...
分类:
其他好文 时间:
2014-12-03 11:57:51
阅读次数:
144
问题描述:
基本思路:
代码:
public ListNode reverse(ListNode head,int n) //Java
{
ListNode tmp = head;
int step = 1;
tmp = tmp.next;
ListNode pre = head;...
分类:
其他好文 时间:
2014-12-03 00:29:30
阅读次数:
110
上一篇讨论了链表的反转问题,这一篇讨论链表排序的问题1. 排序两个有序链表比较简单,属于归并排序,不再赘述时间复杂度O(n), 空间复杂度O(1) 1 ListNode *mergeList( ListNode *list1, ListNode *list2 ) { 2 if(!list1 ...
分类:
其他好文 时间:
2014-11-30 14:00:59
阅读次数:
132
上一篇讨论了链表相关的几个有趣的问题,这一篇主要讨论与反转链表有关的问题基本数据结构:struct ListNode { int var; ListNode *next; ListNode( int v = 0 ) : var(v), next(NULL) { }};1. 反转链表...
分类:
其他好文 时间:
2014-11-30 13:48:26
阅读次数:
115
思路:创建一辅助节点,作为生成链表的头结点(不含有效数据)。遍历原链表中每一个节点,并将其插入到新链表的对应位置/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL...
分类:
其他好文 时间:
2014-11-30 09:16:32
阅读次数:
210
把一个有序链表构成成平衡二叉树。和上一题有一点像。思路一:将有序链表存在一个数组里。然后根据每次访问中间节点当做根节点递归左右子树节点即可。代码如下:/** * Definition for singly-linked list. * struct ListNode { * int val;...
分类:
其他好文 时间:
2014-11-29 22:53:04
阅读次数:
271