![](https://img-blog.csdnimg.cn/20200402171429566.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode
LeetCode题解
G_小武
这个作者很懒,什么都没留下…
展开
-
最小栈
最小栈 题目描述 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/min-stack 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 思路 最开始有想过使用一个辅助 TreeSet来做原创 2020-09-03 17:12:31 · 103 阅读 · 0 评论 -
环形链表
题目描述 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例: 输入:head = [3,2,0,-4], pos = 1 输出:tail connects to node index 1 解释:链表中有一个环,其尾部连接到第二个节点。 来源:力扣(LeetCode) 链接:https://le原创 2020-07-28 16:40:09 · 89 阅读 · 0 评论 -
01矩阵
题目描述 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 思路 用到了BFS 可以和79单词搜索参考学习 BFS流程:(BFS类似树的层次遍历,需要一个队列,而DFS需要的是一个递归) 任取一个顶点访问,入队,并将其标记为已读 当队列不为空的时候:出队,依次检查出队顶点的邻接顶点,访问没有访问过的顶点,并将其入队 当队为空的时候跳出循环,...原创 2020-04-22 10:05:02 · 242 阅读 · 0 评论 -
单词搜索
题目描述 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 思路 主要是利用到了回溯和DFS以及递归(理解递归), 二维平面的移动:int[][] direction = {{-1, 0}, {0, -1}, {0, 1}, {1, 0}}; 注...原创 2020-04-22 09:52:37 · 165 阅读 · 0 评论 -
实现一个能够返回最小值的栈
最小栈 题目描述 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) – 将元素 x 推入栈中。 pop() – 删除栈顶的元素。 top() – 获取栈顶元素。 getMin() – 检索栈中的最小元素。 思路 这个题主要是利用了Java中TreeSet容器的特性即没有重复元素和元素可以排列顺序。在执行push操作时一并将元素添加到TreeSet中...原创 2020-04-05 19:21:50 · 190 阅读 · 0 评论 -
二叉树的中序遍历
二叉树的中序遍历 题目描述 给定一个二叉树,返回它的中序遍历。 思路 先序遍历:当第一次访问的时候就进行打印 中序遍历:当第二次访问的时候就进行打印 后序遍历:当第三次访问的时候就进行打印 二叉树的存储方式一般分为顺序存储结构和链式存储结构,在Java里则分别用数组和一个包含值,左、右孩子成员变量的类来表示。顺序存储结构一般用来存储完全二叉树,否则可能会浪费很多空间。 (以后要注意代码的结构哈 清...原创 2020-04-04 10:23:37 · 153 阅读 · 0 评论