题目 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点。 注意 :此题对比原题有改动 示例 1: 示例 2: 说明: 题目保证链表中节点的值互不相同 若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点 思路 为了简化删除头节 ...
分类:
其他好文 时间:
2020-02-20 20:08:19
阅读次数:
65
1. 简介 散列表的实现叫散列hashing,散列用于以常数平均时间执行 插入、删除、查找,不支持排序、findMin、findMax。 查找关键字不需要 比较 在一个记录的存储位置和它的关键字之间建立映射关系:key--f(key) 这个关系就是散列函数/哈希函数。将一些记录存储在一块 连续 的存 ...
分类:
编程语言 时间:
2020-02-20 00:17:44
阅读次数:
223
一、什么是单向链表 在动态分配内存空间时,最常使用的就是“单向链表”(Single Linked List)。一个单向链表节点基本上是由两个元素,即数据字段和指针所组成,而指针将会指向下一个元素在内存中的位置,如下图所示: 在“单向链表”中,第一个节点是“链表头指针”,指向最后一个节点的指针设为NU ...
分类:
其他好文 时间:
2020-02-16 13:23:30
阅读次数:
75
给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 进阶: 如果二叉搜索树经常被修改(插入/删除操作)并且你需要频繁地查找第 k 小的值,你将如何优化 kthSmallest 函数? 来 ...
分类:
其他好文 时间:
2020-02-15 11:49:22
阅读次数:
89
//单链表 //头指针 //1.头指针是指向链表的第一个节点的指针,若链表有头节点 //则是指向头节点的指针 //2.头指针具有标识作用,所以常用头指针冠以链表的名字 //3.无论链表是否为空,头指针均不为空,头指针是链表的必要元素 //头节点 /* *头节点是为了操作的统一和方便而设立的,放在第一 ...
分类:
其他好文 时间:
2020-02-11 00:27:21
阅读次数:
79
LeetCode 链表1 单链表 单链表模板 1. 初始化 1. 头部插入 1. 尾部插入 1. 删除节点 1. Index插入 1. Index返回对应的节点指针和val值 ...
分类:
其他好文 时间:
2020-02-08 20:51:52
阅读次数:
91
什么是二叉堆 二叉堆本质是完全二叉树一种。分为最大堆和最小堆两种。 字面理解最大堆任何一个父节点的值都大于等于它左右孩子的值,最小堆则与之相反。 二叉堆的根节点叫做堆顶。最大堆的堆顶就是整个堆最大的数,最小堆则与之相反。 举个例子:最大堆 堆的操作 二叉堆的基本操作:插入,删除,查询。 1.插入 插 ...
分类:
其他好文 时间:
2020-02-06 21:33:03
阅读次数:
76
在 O(1)时间内删除链表结点。给定单向链表的头指针和一个结点指针,定义一个函数在 O(1)时间内删除该结点。 ...
分类:
其他好文 时间:
2020-02-03 22:35:09
阅读次数:
65
vector,向量,有序数列。连续的空间存储,可以使用[ ]操作符,可以快速的访问随机的元素,快速的在末尾插入元素,但是在序列中间随机的插入、删除元素要慢。如果空间不够时,有一个重新分配更大空间的过程。 入门使用 cpp vector vec;//创建一个空vector。 vector vec = ...
分类:
编程语言 时间:
2020-02-02 14:06:30
阅读次数:
88
STL及一些常用函数的基本用法 [TOC] 1.vector(向量)的基本用法 vector是C++的STL中一个常见的容器,使用时需要加上\ include\的头文件,其可以动态储存数据,既可以很方便的实现插入,删除等基本操作,其基本语法如下: c++ include include using ...
分类:
其他好文 时间:
2020-02-02 14:00:18
阅读次数:
108