栈与队列
文章平均质量分 71
栈与队列
crazy的蓝色梦想
小柒 爱前端
展开
-
map --- leedcode 146 LRU缓存机制 (Medium)
题目 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。 它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数), 否则返回 -1。 写入数据 put(key, value) - 如果密钥不存在,则写入其数据值。当缓存容量达到上限时, 它应该在写入新数据之前删除最...原创 2020-03-24 22:26:14 · 197 阅读 · 0 评论 -
队列 --- Leedcode 279 完全平方数 (Medium)
前面的话 这题原创 2020-03-13 09:08:19 · 150 阅读 · 0 评论 -
树的层次遍历(Leedcode 102、107、199、103)技巧 --- 队列
前面的话 队列是一种比较特殊的线性结构,是典型的先进先出。它只允许在表的的前端进行删除,在表的后端进行插入。前面说过,树的深度优先遍历可以借助栈来实现,而树的层次遍历可以借助队列来实现。 队列基础使用 java中linkedList提供了方法支持队列的使用,实现了Queue接口。 队列的创建: Queue<Integer> queue = new LinkedList<>...原创 2020-02-16 19:49:50 · 603 阅读 · 0 评论 -
树的前/中/后序遍历(Leedcode 144、95、145) 技巧 --- 栈(深度优先遍历)
前面的话 树的前、中、后序遍历采用递归的方式都很好解决。但如果不使用递归,又该如何解决呢? 我们知道树的遍历方式有两种:深度优先遍历、广度优先遍历(层次遍历)。很显然这种前、中、后序遍历属于深度优先遍历。其实我们可以借助栈这种数据结构来实现深度优先遍历。 题目 给定一个二叉树,返回它的 前序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / ...原创 2020-02-14 21:00:36 · 325 阅读 · 0 评论 -
有效括号、表达式求值( Leedcode 20、150) 技巧 --- 栈
前面的话 栈这种数据结果非常适合解决括号匹配,迷宫求解,表达式求值等问题。从最简单的有效括号这个题目来体现栈的妙用之处。 栈的使用 栈是Vector的一个子类,它实现了一个标准的后进先出的栈。堆栈只定义了默认构造函数,用来创建一个空栈。 创建:不同类型 Stack<Integer> stack = new Stack<>(); Stack<Character> ...原创 2020-02-03 20:36:20 · 291 阅读 · 0 评论