
数据结构-栈
二手光阴
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode94. 二叉树的中序遍历(Binary tree Inorder Traversal)
题目描述 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 递归代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; *...原创 2018-11-09 10:28:56 · 260 阅读 · 0 评论 -
LeetCode145. 二叉树的后序遍历(Binary tree Postorder Traversal)
题目描述 给定一个二叉树,返回它的 后序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解题思路1: 用两个栈和一个数组。 /** * Definition for a binary tree node. * struct TreeNode { *...原创 2018-11-12 14:27:19 · 189 阅读 · 0 评论 -
LeetCode71. 简化路径 (simplifyPath)
题目描述 给定一个文档 (Unix-style) 的完全路径,请进行路径简化。 示例: path = "/home/", => "/home" path = "/a/./b/../../c/", => "/c" 边界情况: 你是否考虑了 路径 = "/../" 的情况? 在这种情况下,你需返回 "/" 。 此外,路径中也可能包含多个斜杠 '/' ,如 &quo原创 2018-11-08 21:54:01 · 155 阅读 · 0 评论 -
Leetcode341. 扁平化嵌套列表迭代器(Flatten Nested List Iterator)
题目描述 给定一个嵌套的整型列表。设计一个迭代器,使其能够遍历这个整型列表中的所有整数。 列表中的项或者为一个整数,或者是另一个列表。 示例 1: 输入: [[1,1],2,[1,1]] 输出: [1,1,2,1,1] 解释: 通过重复调用 next 直到 hasNext 返回false,next 返回的元素的顺序应该是: [1,1,2,1,1]。 示例 2: 输入: [1,[4,[6]]]...原创 2018-11-13 17:09:55 · 677 阅读 · 0 评论 -
LeetCode155. 最小栈(MinStack)
题目描述 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) – 将元素 x 推入栈中。 pop() – 删除栈顶的元素。 top() – 获取栈顶元素。 getMin() – 检索栈中的最小元素。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.pu...原创 2018-11-13 14:33:47 · 156 阅读 · 0 评论 -
LeetCode150.逆波兰表达式求解(Evaluate Reverse Polish Notation)
题目描述 根据逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 输入: ["2", "1", "+", "3", &quo原创 2018-11-13 10:59:21 · 272 阅读 · 0 评论 -
LeetCode 20.有效的括号(Valid Parentheses)
题目描述 给定一个只包括 '(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: true 示例 2: 输入: "()[]{}" 输出: true 示例 3: 输入: "(]" 输出: false 示例 4: ...转载 2018-11-07 21:07:50 · 142 阅读 · 0 评论 -
LeetCode103. 二叉树的锯齿形层次遍历(Binary Tree Zigzag Level Order T)
题目描述 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ] 代码: /** * Def...原创 2018-11-12 22:22:43 · 122 阅读 · 0 评论 -
LeetCode144. 二叉树的前序遍历(Binary Tree Preorder Traversal)
题目描述 给定一个二叉树,返回它的 前序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 递归代码: /** * Definition for a binary tree node. * struct TreeNode { * int va...原创 2018-11-09 15:17:31 · 197 阅读 · 0 评论 -
LeetCode385. 迷你语法分析器(mini parser)
题目描述 给定一个用字符串表示的整数的嵌套列表,实现一个解析它的语法分析器。 列表中的每个元素只可能是整数或整数嵌套列表 提示: 你可以假定这些字符串都是格式良好的: 字符串非空 字符串不包含空格 字符串只包含数字0-9 [ - , ] 示例 1: 给定 s = "324", 你应该返回一个 NestedInteger 对象,其中只包含整数值 324。原创 2018-11-14 11:29:46 · 1039 阅读 · 1 评论