栈与队列
绝绝し
我们终其一生都走在一条没有终点的莫比乌斯环带上行走着,绕来绕去,回到原点,才发现自己已经颠倒了形状。
展开
-
LeetCode-1047. 删除字符串中的所有相邻重复项
给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一 输入:"abbaca" 输出:"ca" 解释:例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。 提示原创 2021-10-29 21:30:46 · 132 阅读 · 0 评论 -
LeetCode-20 有效的括号
首先要弄清楚,字符串里的括号不匹配有几种情况。先来分析一下 这里有三种不匹配的情况, 第一种情况,字符串里左方向的括号多余了 ,所以不匹配。 第二种情况,括号没有多余,但是 括号的类型没有匹配上。 第三种情况,字符串里右方向的括号多余了,所以不匹配 第一种情况:已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配,所以return false第二种情况:遍历字符串匹配的过程中,发现栈里没有要匹配的字符。所以return false第三种情况:遍历字符原创 2021-10-29 21:29:03 · 59 阅读 · 0 评论 -
LeetCode-225用队列实现栈
请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元素。 boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。注意:你只能使用队列的基本操作 —— 也就是 push to back、peek/pop from front、size原创 2021-10-27 21:34:09 · 2550 阅读 · 0 评论