栈
涛涛酱
北邮研究僧在读
展开
-
【LeetCode 402】 Remove K Digits
题目描述Given a non-negative integer num represented as a string, remove k digits from the number so that the new number is the smallest possible.Note:The length of num is less than 10002 and will be ≥ k.The given num does not contain any leading zero.Exa原创 2020-05-18 22:36:50 · 110 阅读 · 0 评论 -
【LeetCode 224】Basic Calculator
题目描述Implement a basic calculator to evaluate a simple expression string.The expression string may contain open ( and closing parentheses ), the plus + or minus sign -, non-negative integers and empty spaces .Example 1:Input: "1 + 1"Output: 2Example原创 2020-05-17 22:24:36 · 93 阅读 · 0 评论 -
【LeetCode 225】 Implement Stack using Queues
题目描述Implement the following operations of a stack using queues.push(x) – Push element x onto stack.pop() – Removes the element on top of the stack.top() – Get the top element.empty() – Return whether the stack is empty.Example:MyStack stack = new My原创 2020-05-17 14:32:56 · 93 阅读 · 0 评论 -
【LeetCode 739】 Daily Temperatures
题意:Given a list of daily temperatures T, return a list such that, for each day in the input, tells you how many days you would have to wait until a warmer temperature. If there is no future day for w...原创 2020-01-16 17:38:32 · 107 阅读 · 0 评论 -
【剑指 offer】用两个栈实现队列
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路:栈1是入队的栈,当需要pop时,把栈1倒进栈2,取栈顶元素。只有需要pop且栈2为空时,才倒进去。代码:class Solution{public: void push(int node) { stack1.push(node); } int ...原创 2019-04-25 19:52:07 · 77 阅读 · 0 评论 -
【剑指 offer】包含min函数的栈
题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。思路:用一个辅助栈,保存当前栈内的最小元素。每次入栈前判断当前的最小元素是原来的还是新进的。代码:class Solution {public: void push(int value) { num.push(value); if (m...原创 2019-04-27 16:46:53 · 78 阅读 · 0 评论 -
【剑指 offer】栈的压入、弹出序列
题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路:模拟出栈。以前写的时候好像用数组模拟就可以。现在用的vector。。哎。。。...原创 2019-04-25 09:13:37 · 82 阅读 · 0 评论 -
【LeetCode 227】 Basic Calculator II
题目描述:模拟四则运算。思路:用栈保存数字,只记录上一个运算符号。每次遍历到一个数字,上一个运算符如果是+,push到栈,-,push当前的相反数,* 或 / ,当前数字和栈顶数字做运算,结果push到栈。最后把栈内数字相加。代码:class Solution {public: int calculate(string s) { int len = s.leng...原创 2019-05-20 15:40:06 · 87 阅读 · 0 评论