
堆栈
文章平均质量分 51
KroneX
ACM退役选手,热爱优雅、高效、有创造力的技术,本博客记录题解,编程tips,计算机相关知识,心得等。
展开
-
【leetcode】150. 逆波兰表达式求值(evaluate-reverse-polish-notation)(栈)[中等]
链接 https://leetcode-cn.com/problems/design-parking-system/ 耗时 解题:10 min 题解:5 min 题意 根据 逆波兰表示法,求表达式的值。 有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 提示: 1 <= tokens.length <= 10410^4104 to原创 2021-03-20 14:02:09 · 168 阅读 · 0 评论 -
【leetcode】331. 验证二叉树的前序序列化(verify-preorder-serialization-of-a-binary-tree)(栈)[中等]
链接 https://leetcode-cn.com/problems/verify-preorder-serialization-of-a-binary-tree/ 耗时 解题:21 min 题解:27 min 题意 序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #。 _9_ / \ 3 2 / \ / \ 4 1 # 6 / \ / \ / \ #原创 2021-03-12 15:57:34 · 177 阅读 · 0 评论 -
【leetcode】227. 基本计算器 II(basic-calculator-ii)(栈)[中等]
链接 https://leetcode-cn.com/problems/basic-calculator-ii/ 耗时 解题:40 min 题解:25 min 题意 给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 提示: 1 <= s.length <= 3 * 105 s 由整数和算符 (’+’, ‘-’, ‘*’, ‘/’) 组成,中间由一些空格隔开 s 表示一个 有效表达式 表达式中的所有整数都是非负整数,且在范围 [0, 231 - 1原创 2021-03-11 09:56:56 · 218 阅读 · 0 评论 -
【leetcode】224. 基本计算器(basic-calculator)(栈)[困难]
链接 https://leetcode-cn.com/problems/basic-calculator/ 耗时 解题:19 min 题解:12 min 题意 实现一个基本的计算器来计算一个简单的字符串表达式 s 的值。 思路 只有 加减法 和 括号,将括号完全打开,计算结果不会变,所以只需要处理好每个数前实际的符号,并按实际的符号将这些数加进结果即可。 因为包含 括号,用栈记录括号前的符号,遇到 ‘+’ 那么当前符号就是栈顶符号,遇到 ‘-’ 那么当前符号是栈顶符号的相反符号,遇到 ‘(’ 将括号前的实际原创 2021-03-10 19:49:37 · 191 阅读 · 0 评论 -
【leetcode】503. 下一个更大元素 II(next-greater-element-ii)(栈)[中等]
链接 https://leetcode-cn.com/problems/next-greater-element-ii/ 耗时 解题:15 min 题解:9 min 题意 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。 注意: 输入数组的长度不会超过 10000。 思路 第一次遍历数组中每个元素,将其放入堆栈,在原创 2021-03-06 10:44:37 · 181 阅读 · 0 评论 -
【leetcode】20. 有效的括号(valid-parentheses)(堆栈)[简单]
链接 https://leetcode-cn.com/problems/valid-parentheses/ 耗时 解题:18 h 题解:5 min 题意 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 思路 遍历字符串,遇到左括号入栈,遇到右括号则 1. 检查栈是否为空,为空则 false,2. 不为空,那么栈顶元素是否是与当前右括号原创 2020-08-14 23:25:15 · 273 阅读 · 0 评论