![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
栈与队列
LeetCode 题目,不一定是最好的解法,但力求简洁、易懂
Rock在学习
这个作者很懒,什么都没留下…
展开
-
栈与队列刷题目录
名称力扣地址难度标签原创 2023-12-10 07:54:04 · 299 阅读 · 0 评论 -
225. 用队列实现栈(简单)
你只能使用队列的基本操作 —— 也就是 push to back、peek/pop from front、size 和 is empty 这些操作。你可以使用 list (列表)或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。原创 2023-12-16 09:11:31 · 319 阅读 · 0 评论 -
232. 用栈实现队列(简单)
你 只能 使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。请你仅使用两个栈实现先入先出队列。否则,返回 false。void push(int x) 将元素 x 推到队列的末尾。int pop() 从队列的开头移除并返回元素。int peek() 返回队列开头的元素。原创 2023-12-16 09:08:00 · 359 阅读 · 0 评论 -
735. 小行星碰撞(中等)(LCR 037)
找出碰撞后剩下的所有小行星。碰撞规则:两个小行星相互碰撞,较小的小行星会爆炸。如果两颗小行星大小相同,则两颗小行星都会爆炸。两颗移动方向相同的小行星,永远不会发生碰撞。对于数组中的每一个元素,其绝对值表示小行星的大小,正负表示小行星的移动方向(正表示向右移动,负表示向左移动)。每一颗小行星以相同的速度移动。解释:10 和 -5 碰撞后只剩下 10。5 和 10 永远不会发生碰撞。给定一个整数数组 asteroids,表示在同一行的小行星。输入:asteroids = [5,10,-5]原创 2023-12-14 21:14:17 · 368 阅读 · 0 评论 -
1047. 删除字符串中的所有相邻重复项(简单)
例如,在 “abbaca” 中,我们可以删除 “bb” 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 “aaca”,其中又只有 “aa” 可以执行重复项删除操作,所以最后的字符串为 “ca”。给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在完成所有重复项删除操作后返回最终的字符串。在 S 上反复执行重复项删除操作,直到无法继续删除。输入:“abbaca”原创 2023-12-14 21:10:47 · 346 阅读 · 0 评论 -
150. 逆波兰表达式求值(中等)
给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9。输入:tokens = [“2”,“1”,“+”,“3”,“*”]每个操作数(运算对象)都可以是一个整数或者另一个表达式。有效的算符为 ‘+’、‘-’、‘*’ 和 ‘/’。返回一个表示表达式值的整数。输入是一个根据逆波兰表示法表示的算术表达式。两个整数之间的除法总是 向零截断。表达式中不含除零运算。原创 2023-12-13 22:43:29 · 666 阅读 · 0 评论 -
20. 有效的括号(简单)
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。每个右括号都有一个对应的相同类型的左括号。左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。输入:s = “()”原创 2023-12-13 22:36:17 · 335 阅读 · 0 评论