数据结构-栈
文章平均质量分 82
xushiyu1996818
这个作者很懒,什么都没留下…
展开
-
剑指offer-22-栈的压入、弹出序列-java
题目及测试package sword022;/* 题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出序列。 * 假设压入栈的所有数字均不相等。 * 例如序列1/2/3/4/5是某栈的压栈序列,序列4/5/3/2/1是该压栈序列对应的一个弹出序列,但4/3/5/1/2就不可能是该压栈序列的弹出序列;*/public class main { public static void main(String[] args) { int[][] t原创 2020-11-28 14:04:28 · 102 阅读 · 0 评论 -
剑指offer-21-包含min函数的栈-java
题目及测试package sword021;/* 题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min、push以及pop的时间复杂度为O(1)*/public class main { public static void main(String[] args) { test(); } private static void test() { Solution solution = new Solution();原创 2020-11-28 14:03:34 · 145 阅读 · 1 评论 -
剑指offer-7-用两个栈实现队列-java
题目及测试package sword007;/** *题目描述:用两个栈实现一个队列。 *队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能 */public class main { public static void main(String[] args) throws Exception { Solution test = new Solution(); //原创 2020-11-03 15:06:13 · 93 阅读 · 0 评论 -
leetcode-739-每日温度-java
题目及测试package pid739;/*739. 每日温度请根据每日 气温 列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30原创 2020-10-22 16:27:00 · 268 阅读 · 0 评论 -
leetcode-394-字符串解码-java
题目及测试package pid394;/*394. 字符串解码给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。 示例 1:原创 2020-08-13 11:39:50 · 317 阅读 · 0 评论 -
leetcode-341-扁平化嵌套列表迭代器-java
题目及测试package pid341;/* 扁平化嵌套列表迭代器给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的每一项或者为一个整数,或者是另一个列表。其中列表的元素也可能是整数或是其他列表。 示例 1:输入: [[1,1],2,[1,1]]输出: [1,1,2,1,1]解释: 通过重复调用 next 直到 hasNext 返回 false,next 返回的元素的顺序应该是: [1,1,2,1,1]。示例 2:输入: [1原创 2020-07-01 11:32:09 · 266 阅读 · 0 评论 -
leetcode-155-最小栈(min stack)-java
题目及用例package pid155;/* 最小栈设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。示例:MinStack minStack = new ...原创 2018-10-12 09:55:47 · 1175 阅读 · 0 评论 -
leetcode-栈总结
leetcode-155-最小栈(min stack)-java解法1(用2个栈)由于用常数时间得到最小值,显然要以空间换时间设置两个stack,一个为数的stack,一个为此时min的stack插入一个数,如果它比min的top都小,则min add 它 否则 add min的top解法2(一个栈,一个min)在入栈时,如果这个元素比最小值小,那么,我们让最小值入栈,然后将元素值赋给...原创 2018-10-12 09:57:39 · 504 阅读 · 0 评论 -
leetcode-java-20-有效的括号(valid parentheses)-java
题目及测试package pid020;/* 有效的括号给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输...原创 2018-10-24 11:12:53 · 204 阅读 · 0 评论