首页 > 编程语言 >算法训练day10 LeetCode 232

算法训练day10 LeetCode 232

时间:2023-09-17 17:34:02浏览次数:54  
标签:int pop que empty stOut push day10 LeetCode 232

算法训练day10: LeetCode 232.225.

232.用栈实现队列

题目

232. 用栈实现队列 - 力扣(LeetCode)

题解

代码随想录 (programmercarl.com)

  • class MyQueue
    {
    public:
        stack<int> stIn;
        stack<int> stOut;
        MyQueue()
        {
        }
    
        void push(int x)
        {
            stIn.push(x);
        }
    
        int pop()
        {
            if (stOut.empty())
            {
                while (!stIn.empty())
                {
                    stOut.push(stIn.top());
                    stIn.pop();
                }
            }
            int result = stOut.top();
            stOut.pop();
            return result;
        }
    
        int peek()
        {
            int res = this->pop();
            stOut.push(res);
            return res;
        }
    
        bool empty()
        {
            return (stIn.empty() && stOut.empty());
        }
    };
    
  • 使用输入栈和输出栈。注意输出栈是否为空的判断。

225.用队列实现栈

题目:

225. 用队列实现栈 - 力扣(LeetCode)

题解:

代码随想录 (programmercarl.com)

  • class MyStack
    {
    public:
        queue<int> que;
        MyStack()
        {
        }
    
        void push(int x)
        {
            que.push(x);
        }
    
        int pop()
        {
            int size = que.size();
            while (--size)
            {
                que.push(que.front());
                que.pop();
            }
            int result = que.front();
            que.pop();
            return result;
        }
    
        int top()
        {
            return que.back();
        }
    
        bool empty()
        {
            return que.empty();
        }
    };
    

总结

​ 回顾了栈和队列的特性。用输入栈和输出栈模拟队列;以队列循环的方式模拟栈。

标签:int,pop,que,empty,stOut,push,day10,LeetCode,232
From: https://www.cnblogs.com/High-source/p/17709261.html

相关文章

  • leetcode 加油站——一次遍历
     classSolution:defcanCompleteCircuit(self,gas:List[int],cost:List[int])->int:n=len(gas)max_gas=0rest=0records=[]start=0foriinrange(n):tmp=gas[i]-cost[i]re......
  • 【LeetCode】删除数对后的最小数组长度
    题目给你一个下标从0开始的非递减整数数组nums。你可以执行以下操作任意次:选择两个下标i和j,满足i<j且nums[i]<nums[j]。将nums中下标在i和j处的元素删除。剩余元素按照原来的顺序组成新的数组,下标也重新从0开始编号。请你返回一个整数,表示执行......
  • leetcode 二叉树的最小深度
    给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例1:输入:root=[3,9,20,null,null,15,7]输出:2示例2:输入:root=[2,null,3,null,4,null,5,null,6]输出:5解题思路如果当前节点为null,返......
  • java基础-异常Exception-day10
    目录1.练习2.异常三联try-catch-finally3.异常的分类3.子类throws的异常小于等于父类的异常4.自定义异常1.练习packagecom.msb01;importjava.util.Scanner;/***@Auther:jack.chen*@Date:2023/9/17-09-17-10:58*@Description:com.msb01*@versi......
  • leetcode 平衡二叉树
    给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:输入:root=[3,9,20,null,null,15,7]输出:true示例2:输入:root=[1,2,2,3,3,null,null,4,4]输出:false示例3:输入:root......
  • [LeetCode] 1222. Queens That Can Attack the King
    Ona 0-indexed 8x8 chessboard,therecanbemultipleblackqueensadonewhiteking.Youaregivena2Dintegerarray queens where queens[i]=[xQueeni,yQueeni] representsthepositionofthe ith blackqueenonthechessboard.Youarealsogivena......
  • #yyds干货盘点# LeetCode程序员面试金典:2 的幂
    题目:给你一个整数 n,请你判断该整数是否是2的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得 n==2x ,则认为 n 是2的幂次方。 示例1:输入:n=1输出:true解释:20=1示例2:输入:n=16输出:true解释:24=16示例3:输入:n=3输出:false示例4:输入......
  • #yyds干货盘点# LeetCode程序员面试金典:强密码检验器
    1.简述:满足以下条件的密码被认为是强密码:由至少 6 个,至多 20 个字符组成。包含至少 一个小写 字母,至少 一个大写 字母,和至少 一个数字 。不包含连续三个重复字符(比如 "Baaabb0" 是弱密码,但是 "Baaba0" 是强密码)。给你一个字符串 password ,返回 将 password......
  • LeetCode-Java题解 209. Minimum Size Subarray Sum
    题目地址:209.MinimumSizeSubarraySum解题思路:    看到这道题,心里本身是有双指针这个概念的,但是不知道怎么用,脑子里第一反应就是暴力解法,双for一把梭,然后时间就超时了...看了题解才知道滑动窗口这个解法,不禁直呼妙啊!感觉和双指针非常类似,其核心点在于避免了暴力算法的枚......
  • 代码随想录算法训练营第10天| 232.用栈实现队列 ● 225. 用队列实现栈
    栈和队列232.用栈实现队列stack:queue:卡哥代码一个入栈,一个出栈,即可模拟队列的pop操作pop之前要检查出栈是否为空若为空,则排出入栈里所有的元素至出栈中classMyQueue{public:stack<int>stackIn;stack<int>stackOut;MyQueue(){......