1.输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。链表结点定义如下: struct ListNode{ int m_nKey; ListNode* m_pNext;};分析:这是一道广为流传的微软面试题。由于这道题能够很好的反应出程序员思维是否严密,在微软之后已经有很多公司在面试时采用 ...
分类:
编程语言 时间:
2017-03-15 14:43:25
阅读次数:
255
单链表逆置 方法: <1>断开第一个数据节点和第二个数据节点的链接 <2>将后面的节点通过头插法的思想插在头节点后面 ...
分类:
其他好文 时间:
2017-03-14 00:36:46
阅读次数:
160
哈希桶:哈希桶就是盛放不同key链表的容器(即是哈希表),在这里我们可以把每个 key的位置看作是一个孔,孔里放了一个链表。或是使用一个顺序表来存放具 有相同哈希值的key的链表的头节点,利用这个头节点可以找到其它key值。 ...
分类:
其他好文 时间:
2017-03-10 22:00:49
阅读次数:
151
数据的存储结构: 1: 顺序存储结构 2: 链式存储结构 3: 索引存储结构 4: 散列存储结构 1: 线性表 线性表即List,是N个元素有序的有限序列。逻辑上相邻的元素在物理上也相邻,可以随机访问。 特点: 1: 第一个 2: 最后一个 3:前驱 4:后继 2: 链表 单链表有一个头节点head ...
分类:
其他好文 时间:
2017-03-01 16:03:23
阅读次数:
199
题目描述: 解题思路: 题目大意:给定一个链表,反转第m到第n个结点部分,m、n满足1 ≤ m ≤ n ≤ length of list。 解题思路参照LeetCode206题,用迭代法,不过要注意以下几点: (a):为方便操作,新建一个辅助结点dummy,使其下一个结点指向头节点。 (b):维护4 ...
分类:
其他好文 时间:
2017-03-01 00:35:24
阅读次数:
193
两种方法 1,利用栈的方法实现 将节点里的值按顺序push压入到栈中 再将pop出栈的值按顺序赋值到节点里 2.原链表头节点删除 再 头插入到一个新的链表里 实现反转 ...
分类:
其他好文 时间:
2017-02-23 01:00:44
阅读次数:
290
n个节点链接成一个链式线性表的结构叫做链表,但每个节点只包含一个指针域是,叫做单链表。 ① 表头节点: 链表中的第一个节点,包含只想第一个数据元素的指针及链表自身的一些信息; ② 数据节点: 链表中代表数据元素的节点,包含指向下一个数据元素的指针和数据元素的信息; ③ 尾节点: 链表中的最后一个数据 ...
分类:
其他好文 时间:
2017-02-22 11:15:15
阅读次数:
195
若L是LinkList类型的变量,则L为单链表的头指针,它指向表中第一个节点。 ...
分类:
其他好文 时间:
2017-02-11 22:38:35
阅读次数:
215
//尽量多声名几个指针 避免使用到 头节点 还有 /* 第一点 :初始化和建造链表放在一起了 且返回值用linklist类型 第二点:多项式相加是本质是链表的交集 交集需要注意的是(比较指数大小 小的放在新链表上 指针后移 如果那个表空了直接把 剩下的链到新链表) #include<stdio.h> ...
分类:
其他好文 时间:
2017-01-12 11:22:16
阅读次数:
174
我们可以弄两个指针都指向头节点,然后一个指针每次走一步,另一个每次走两步。 #include<stdio.h>typedef struct link{ int a; struct link *next;}link_t;void main(){ link_t A = {1,NULL}; link_t ...
分类:
其他好文 时间:
2016-12-18 14:35:49
阅读次数:
143