比方在插入有序链表的过程中。普通情况下要使用俩指针来遍历,而后还要推断是否在第一个位置插入;利用指针的指针后不须要另外考虑这样的特殊情况。代码:#include #include struct node{ int data; struct node *next;} *head;//sor...
分类:
其他好文 时间:
2015-07-02 20:55:34
阅读次数:
125
21.Merge Two Sorted Lists1. 问题描述:合并两个有序链表,并返回一个新的有序链表。2. 解决思路:这道题很简单。可以用递归求解,也可以用非递归求解;注意:如果用非递归求解,发现新链表的头结点不确定,所以引入dummy节点。不多说之间上代码。3. java代码:/**
* Definition for singly-linked list.
* public class...
分类:
其他好文 时间:
2015-06-29 22:20:13
阅读次数:
156
递归调用 简单有点像归并排序的合并部分吧。因为是用vs创建的工程,所以主函数是_tmain。 1 // 链表.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 6 7 typedef struct Node { 8 int data...
分类:
其他好文 时间:
2015-06-29 20:12:41
阅读次数:
108
1. Question给定有序链表,删除重复的,使每个元素仅出现一次。2. Solution(O(n))相似的有Remove Duplicates from Sorted Array,remove element/** * Definition for singly-linked list. * p...
分类:
其他好文 时间:
2015-06-24 22:32:09
阅读次数:
128
1. Question合并两个有序链表,返回的新链表是通过拼接原来的两个链表得到Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together th...
分类:
其他好文 时间:
2015-06-24 22:28:44
阅读次数:
208
合并有序链表本文地址:http://blog.csdn.net/caroline_wendy/article/details/29352997题目:合并有序链表, 给定两个升序的链表, 返回一个合并之后的升序链表.节点结构:struct Node{ int val; Node *next;};要.....
分类:
编程语言 时间:
2015-06-06 19:32:58
阅读次数:
203
有序链表0->1->2->3->4->5转换为一个二叉排序树。我们在此创建一个平衡二叉排序树1.先找链表到中间的节点2.中间节点的val创建一个新的树节点TreeNode3.将链表断裂为2部分4.递归创建左子树和右子树#include#includeusing namespace std;struc...
分类:
编程语言 时间:
2015-06-03 21:21:46
阅读次数:
131
题目:已知两个链表head1和head2各自有序,请把它们合并成一个链表依然有序。(保留所有结点,即便大小相同)循环实现:1.重新申请一个头结点,使用指针p指向他,每新加一个结点,就将指针p后移一位,即指针p永远指向新链表的尾结点2.由于所用链表第一个结点不赋值,因此指针需要开始从头结点的下一个结点...
分类:
其他好文 时间:
2015-05-28 00:18:26
阅读次数:
193
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */问题:将有序链表中的重复元素删除分析:由于有序,所以p结点是否重复只需要和它...
分类:
其他好文 时间:
2015-05-22 18:41:48
阅读次数:
107
最近看了一种数据结构叫做skipList,redis和levelDB都是用了它。Skip List是在有序链表的基础上进行了扩展,解决了有序链表结构查找特定值困难的问题,查找特定值的时间复杂度为O(logn),他是一种可以代替平衡树的数据结构。 下面是skipList的一个介绍,转载来的,源地...
分类:
其他好文 时间:
2015-05-15 13:28:09
阅读次数:
121