不穿格子的程序员4 小时前
java·开发语言·
从零开始刷算法-栈-括号匹配我们需要判断一个字符串中的括号是否成对且顺序匹配,比如:从直觉上,这就是“遇到左括号就入栈,遇到右括号就出栈匹配”的过程。栈这种后进先出(LIFO)的结构,天然适合这种成对匹配的问题。
少许极端2 天前
java·数据结构·算法·
算法奇妙屋(九)-栈⚙️个人专栏:《Java算法时空: 图解手撕原理》 《多线程》 《JavaSE基础原理》 《数据结构》
mifengxing4 天前
c语言·数据结构·算法·leetcode·动态规划·
力扣每日一题——接雨水题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
hope_wisdom10 天前
c语言·数据结构·c++·链表·
C/C++数据结构之用链表实现栈在前一篇文章中,我们已经用数组实现了栈。在本篇文章中,我们将使用链表来实现栈。使用链表的优点是:动态增长,扩容时更加平滑。缺点是:略微复杂,需要额外管理所有节点。栈相关的操作,仍然是下面5个接口。
Dream it possible!19 天前
c++·leetcode·面试·
LeetCode 面试经典 150_栈_简化路径(53_71_C++_中等)(栈+stringstream)给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为 更加简洁的规范路径。
Dream it possible!19 天前
c++·leetcode·面试··哈希表
LeetCode 面试经典 150_栈_有效的括号(52_20_C++_简单)(栈+哈希表)给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足: 1、左括号必须用相同类型的右括号闭合。 2、左括号必须以正确的顺序闭合。 3、每个右括号都有一个对应的相同类型的左括号。
Chloeis Syntax20 天前
java·数据结构·笔记·
栈和队列笔记2025-10-12自己实现一遍栈的一些基本方法,印象比较深刻我使用了ArrayList去实现这个栈,但你们也可以自己定义一个数组去实现(效果更好);
Syntech_Wuz22 天前
数据结构·c++·容器··队列
从 C 到 C++:容器适配器 std::stack 与 std::queue 详解对于刚从 C 语言转向 C++ 的朋友来说,标准库中的容器适配器是提升开发效率的利器。std::stack(栈)和std::queue(队列)作为两种常用的容器适配器,封装了底层容器的复杂细节,提供了简洁直观的操作接口,彻底告别了 C 语言中手动实现栈和队列的繁琐。本文将详细介绍这两种适配器的特性、底层实现及完整操作指南。
要一起看日出1 个月前
java·数据结构··队列
数据结构-----栈&队列目录栈什么是栈?时间复杂度栈的常见操作入栈出栈栈的常见应用场景浏览器的回退和前进虚拟机栈出栈顺序栈例题
2401_841495641 个月前
java·数据结构·c++·python·算法·递归·
【数据结构】汉诺塔问题汉诺塔问题的核心解法是递归分治思想,通过将复杂问题拆解为规模更小的子问题,逐步解决。以下是该代码的具体思路解析:
hope_wisdom1 个月前
c语言·数据结构·c++·数组·
C/C++数据结构之用数组实现栈要在C/C++中用数组自行实现栈,我们首先需要理解栈提供的基本操作。这些操作主要包括以下5个接口。Push:向栈中添加一个元素。
自信的小螺丝钉1 个月前
leetcode·
Leetcode 155. 最小栈 辅助栈原题链接:Leetcode 155. 最小栈官方解法:辅助栈一个栈同时保存当前值和栈内最小值
KarrySmile2 个月前
二分查找·数组··hot100·二分法·二分搜索·旋转排序数组
HOT100--Day23--153. 寻找旋转排序数组中的最小值,4. 寻找两个正序数组的中位数,20. 有效的括号每日刷题系列。今天的题目是《力扣HOT100》题单。题目类型:二分查找,栈。关键:今天的题目都是“多次二分”
1白天的黑夜12 个月前
c++·leetcode·
栈-844.比较含退格的字符串-力扣(LeetCode)通过string简单模拟栈,得到的结果不需要额外转换对于即将加入的元素是‘#’,我们对字符串pop_back(),尾删处理
1白天的黑夜12 个月前
c++·leetcode·
栈-1047.删除字符串中的所有相邻重复项-力扣(LeetCode)该题并不难,难的是能不能想到用栈这个数据结构解题横着看起来不好理解,我们把它竖起来,是不是和消消乐很类似,两两消去,上的会往下掉;这样的结构很难不往栈方面去想
hope_wisdom2 个月前
c语言·数据结构·c++··stack
C/C++数据结构之栈基础在食堂或自助餐厅中,清洁的餐盘通常会按照从下到上的顺序堆叠在一起。服务员或者顾客需要使用时,总是从最上面取一个盘子来用,而不是从最下面取一个盘子。为什么呢?因为这些盘子是“后放上去的先拿出来”。这其实就是我们今天要介绍的数据结构 —— 栈(Stack)。
今后1232 个月前
数据结构·
【数据结构】栈详解栈的概念:① 栈是一种特殊的线性表,它只允许在固定的一端进行插入和删除元素的操作。② 进行数据插入的删除和操作的一端,称为 栈顶 。另一端则称为 栈底 。
南莺莺2 个月前
c语言·数据结构·算法·
假设一个算术表达式中包含圆括号、方括号和花括号3种类型的括号,编写一个算法来判别,表达式中的括号是否配对,以字符“\0“作为算术表达式的结束符思想:这道题是栈的应用类型,我们可以建立一个栈来保存'(','[','{',通过遍历字符串如果是三个左括号其中一个则入栈,当遇到')'']''}'则出栈配对,如果左右匹配,则遍历下一个元素,如果不匹配直接返回,如果遍历字符串结束,但栈中还有元素,则是左符号单身,如果已经空栈,但是又遍历到一个右括号,则是右括号单身
胡萝卜3.02 个月前
数据结构·学习·算法··队列·栈和队列oj题
【LeetCode&数据结构】栈和队列的应用🔥个人主页:胡萝卜3.0🎬作者简介:C++研发方向学习者📖个人专栏: 《C语言》、《数据结构》 、《C++干货分享》、LeetCode&牛客代码强化刷题