随笔分类 -  栈与队列

摘要:题目链接:剑指Offer59 队列的最大值 题目描述: 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 -1 示 阅读全文
posted @ 2022-03-28 11:55 张宵 阅读(27) 评论(0) 推荐(0)
摘要:题目链接:剑指Offer30.包含min函数的栈 题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例: MinStack minStack = new MinStack(); minS 阅读全文
posted @ 2022-03-28 11:29 张宵 阅读(27) 评论(0) 推荐(0)
摘要:题目链接:剑指Offer09用两个栈实现队列 题目描述: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入: 阅读全文
posted @ 2022-03-28 11:04 张宵 阅读(25) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/longest-valid-parentheses/ 题目描述: 给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 题解: class Solution { public: int 阅读全文
posted @ 2021-09-03 14:23 张宵 阅读(29) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/remove-duplicate-letters/ 题目描述: 题解: 1.遍历字符串,记录字符出现次数。 2.定义标记数组,记录字符是否重复出现过。 3.为了确保返回结果的字典序最小,使用单调栈。 class Soluti 阅读全文
posted @ 2021-07-17 21:30 张宵 阅读(84) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/reverse-words-in-a-string/ 题目描述: 题解: class Solution { public: string reverseWords(string s) { stack <string> stk 阅读全文
posted @ 2021-06-18 10:53 张宵 阅读(27) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/valid-parentheses/ 题目描述: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确 阅读全文
posted @ 2021-01-30 14:04 张宵 阅读(557) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/implement-queue-using-stacks 题目描述: 1.用栈实现队列。 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty): 实现 MyQueu 阅读全文
posted @ 2021-01-28 18:24 张宵 阅读(70) 评论(0) 推荐(0)