无分类 Leetcode116-填充同一层的兄弟节点2 struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。
无分类 【Leetcode】116. 填充同一层的兄弟节点 struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。
无分类 数据结构之「哈希表」 哈希表(Hash table, 也叫散列表),是根据键(Key)来直接访问在内存存储位置的数据结构。它通过一个哈希函数将所需要查询的数据映射到一张哈希表中,来提升查询效率。哈希函数的实现方法:1.除留余数法取关键字…
无分类 手写布隆过滤器 第一场第一镜 随着最后一缕春风拂过,空气中弥漫起了夏天的味道,又该滚去学习了。最近在学习Redis,发现了一个好玩的东西叫布隆过滤器。可是我的水平又不足以研究源码,那我就自己写一个简单的玩玩。
无分类 数据结构之「双端队列」 双端队列(deque)是指允许两端都可以进行入队和出队操作的队列,deque 是 “double ended queue” 的简称。那就说明元素可以从队头出队和入队,也可以从队尾出队和入队。
无分类 【Leetcode】114. 二叉树展开为链表 这算是比较经典的一道题目了, 博主面试快手的时候原题。最开始一想,觉得递归的求解不就好了,但是递归的时候发现需要注意一个地方就是:需要先递归右子树,然后记录下右子树展开完成之后的链表头。然后再递归的…
无分类 数据结构之「队列」 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。是一种先进先出(First In First Out)的线性表,简称 FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。队列有 2 种方式来存…
无分类 【Leetcode】113. 路径总和II 题目 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例:给定如下二叉树,以及目标和 sum = 22, {代码…} 返回: {代码…} …
无分类 数据结构之「栈」 栈 是一种抽象的数据结构,只允许在有序线性数据集合的一段进行入栈和出栈操作,因此是按照后进先出(LIFO, Last In First Out)的原理操作元素。允许进行入栈和出栈的一端称为栈顶(TOP),另一端称为栈底(BOTT…
java JDK源码那些事儿之红黑树基础下篇 说到HashMap,就一定要说到红黑树,红黑树作为一种自平衡二叉查找树,是一种用途较广的数据结构,在jdk1.8中使用红黑树提升HashMap的性能,今天就来说一说红黑树,上一讲已经给出插入平衡的调整操作,这一讲就说…