输入一个链表,反转链表后,输出链表的所有元素。 思路,三个指针,current表示当前指针,pre前指针,后指针。通过各自复制,将current.next = pre后,各自向后移动直到链表为空,返回current即倒序后的头指针。 ...
分类:
其他好文 时间:
2018-05-20 20:40:14
阅读次数:
154
题目: 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。 测试样例: ...
分类:
其他好文 时间:
2018-05-02 13:07:58
阅读次数:
148
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> #define Max 5 typedef struct SqQueue{ int *base; //动态开辟内存 int front; //头指针 in ...
分类:
其他好文 时间:
2018-04-24 18:55:32
阅读次数:
210
题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 ac代码: ...
分类:
其他好文 时间:
2018-04-12 19:53:55
阅读次数:
137
栈的链式存储结构(简称链栈) 一般把栈顶放在单链表的头部,对于链栈来说不需要头结点,且基本不存在栈满的情况,除非是内存已经没有可用的空间了,对空栈来说链表原定义是头指针指向空,链栈的空就是top = null 链栈的操作和绝大多数单链表相同,只是插入和删除特殊一些 栈的链式存储结构——进栈和出栈操作 ...
分类:
其他好文 时间:
2018-04-10 18:45:17
阅读次数:
172
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解题思路 利用递归的思想,分别从两个链表的头节点开始,比较各自的值,并让新链表的头指针指向值较小的那个头结点。然后把值小的那个链表的头结点抽出,合并两个新链表并让头节点的next指针指向它。若碰到 ...
分类:
编程语言 时间:
2018-04-06 14:01:53
阅读次数:
163
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 解题思路 定义preNode指向当前结点pNode的前一个节点,每次访问pNode时首先判断它与后面节点是否重复,若 ...
分类:
其他好文 时间:
2018-04-06 12:23:23
阅读次数:
175
Luogu P1886 滑动窗口 "传送门" 此题为单调队列入门题。单调队列,可以$O(n)$求一段数列中区间极值。记录队列中元素大小与该元素在原数组中的位置。当队首元素超出当前求值区间时,头指针加一;当当前将入队元素大于或小于尾元素时,尾指针减一,直到不符合上一条件时,将当前元素入队。然后要求极值 ...
分类:
其他好文 时间:
2018-03-12 21:12:32
阅读次数:
144
对于邻接表,G[N]为 指针数组 ,对应矩阵 每行一个链表 ,只存非0元素 指针数组里的每一个指针都是一个 单链表的头指针 ,单链表里每个 节点 里存储的是图中 每条边 的信息。 邻接表包括一个 顶点表 和一个 边表 。顶点表包括顶点和指向下一个邻接点的指针, 边表存储的是邻接点点序号和指向下一个的 ...
分类:
其他好文 时间:
2018-03-11 14:31:53
阅读次数:
196
1、题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 2、思路及代码 /** 如果当前链表只有一个节点或者为空,那么返回该节点就ok; 如果当前节点重复节点的话,跳过 ...
分类:
其他好文 时间:
2018-03-09 11:15:11
阅读次数:
151