栈
涛涛酱
北邮研究僧在读
展开
-
【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 · 109 阅读 · 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: 2 Example原创 2020-05-17 22:24:36 · 91 阅读 · 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 · 92 阅读 · 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 · 77 阅读 · 0 评论 -
【剑指 offer】栈的压入、弹出序列
题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 思路: 模拟出栈。以前写的时候好像用数组模拟就可以。现在用的vector。。哎。。。...原创 2019-04-25 09:13:37 · 81 阅读 · 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 · 86 阅读 · 0 评论