数据结构专栏---栈
文章平均质量分 68
努力彪
但行好事,莫问前程
展开
-
栈的压入、弹出序列(中等难度)
目录题目概述(中等难度)思路与代码思路展现代码示例注意事项总结题目概述(中等难度)思路与代码思路展现这里的思路就直接给大家贴K神的思路了,K神永远的神,代码可以看我的:戳我戳我代码示例class Solution { public boolean validateStackSequences(int[] pushed, int[] popped) { //定义一个辅助栈 Stack<Integer> stack = new Stack<原创 2022-02-06 17:19:50 · 495 阅读 · 0 评论 -
用两个栈实现队列(简单难度)
目录题目概述(简单难度)思路与代码思路展现代码示例错误示范题目概述(简单难度)题目链接:点我进入对应题目思路与代码思路展现做这题之前我们首先要明白一点就是,栈是先进后出的,队列是先进先出的。我 们 可以 使用两个栈stackPop和stackPush,往队列中添加元素的时候直接把要添加的值压入 到 stackPush 栈 中 。 往 队 列 中 删 除 元 素 的 时 候 如 果 stackPop 中 有 元 素 我 们 就 直 接 删 除,如果没有元素,我们需要把stackPush中的元素全原创 2022-02-06 11:50:56 · 312 阅读 · 0 评论 -
包含min函数的栈(其实就是实现一个最小栈)(简单难度)
目录题目概述(简单难度)思路与代码思路展现代码示例题目概述(简单难度)题目链接点我进入链接思路与代码思路展现这道题目与之前实现一个最小栈这道题目实际上是一个题目,所以大家可以直接看这篇博客即可:戳我戳我代码示例class MinStack { //定义两个栈,stack和minStack private Stack<Integer> stack = new Stack<>(); private Stack<Integer>原创 2022-02-05 21:46:59 · 291 阅读 · 0 评论 -
实现一个最小栈(简单难度)
目录题目概述(简单难度)思路与代码思路展现代码示例总结题目概述(简单难度)设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],原创 2021-10-08 09:57:41 · 304 阅读 · 4 评论 -
用队列实现栈(简单难度)
目录题目概述(简单难度)思路与代码思路展现代码示例总结题目概述(简单难度)请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。注意:你只能使用队列的基本操作 —— 也就是 pu原创 2021-10-05 17:56:52 · 148 阅读 · 0 评论 -
有效的括号(简单难度,常考的好题目)
目录题目概述(简单难度)思路与代码思路展现代码示例总结题目概述(简单难度)给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:1:左括号必须用相同类型的右括号闭合。2:左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例原创 2021-10-05 11:10:04 · 183 阅读 · 7 评论