
栈
文章平均质量分 56
栈
可惜我是水瓶座__
这个作者很懒,什么都没留下…
展开
-
【LeetCode】逆波兰表达式求值
tokens[i] 是一个算符(“+”、“-”、“*” 或 “/”),或是在范围 [-200, 200] 内的一个整数。输入:tokens = [“10”,“6”,“9”,“3”,“+”,“-11”,“该算式的逆波兰表达式写法为 ( ( 1 2 + ) ( 3 4 + ) * )。解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9。输入:tokens = [“4”,“13”,“5”,“/”,“+”]输入:tokens = [“2”,“1”,“+”,“3”,“*”]原创 2024-07-15 22:19:05 · 420 阅读 · 0 评论 -
【LeetCode】最小栈
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。--> 返回 -3.minStack.getMin();--> 返回 -2.void push(int val) 将元素val推入堆栈。int getMin() 获取堆栈中的最小元素。也是用栈,记录数字的同时,记录目前所知道的最小值。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。MinStack() 初始化堆栈对象。原创 2024-07-14 15:50:29 · 309 阅读 · 0 评论 -
【LeetCode】有效的括号
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。使用栈来来存储,遇到右括号就去栈中寻找对应的左括号,找到了就。每个右括号都有一个对应的相同类型的左括号。s 仅由括号 ‘()[]{}’ 组成。左括号必须用相同类型的右括号闭合。输入:s = “()[]{}”左括号必须以正确的顺序闭合。输入:s = “()”输入:s = “(]”原创 2024-07-14 15:40:56 · 260 阅读 · 0 评论 -
【LeetCode】简化路径
任意多个连续的斜杠(即,‘//’)都被视为单个斜杠 ‘/’。想象一个树形的文件目录,是二维的,有宽度有高度,但是因为每个时间点,我们只能处在一个点上,所以我们用一维的数据结构栈,来存储我们到达了哪一层就好了。给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。path 由英文字母,数字,‘.’,‘/’ 或 ‘_’ 组成。输入:path = “/a/./b/…输入:path = “/home//foo/”原创 2024-07-14 15:21:25 · 358 阅读 · 0 评论 -
【LeetCode】最长有效括号
给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号。因为要找最长有效的括号,那么需要知道每个括号对应的下标。当可以匹配的时候,开始弹出栈,然后持续记录最大值。一般的括号匹配问题都需要用到栈这种数据结构。解释:最长有效括号子串是 “()()”当不能匹配的时候,则将字符的下标入栈。解释:最长有效括号子串是 “()”输入:s = “)()())”输入:s = “(()”通过下标可以计算出长度。原创 2024-06-04 22:36:38 · 241 阅读 · 0 评论