复习Day14:栈与队列part01:232. 用栈实现队列、225.用队列实现栈

我用的方法是在leetcode再过一遍例题,明显会的就复制粘贴,之前没写出来就重写,然后从拓展题目中找题目来写。辅以Labuladong的文章看。然后刷题不用CLion了,使用leetcode自带的IDE模拟面试环境。

历史博客链接:

https://blog.csdn.net/weixin_43303286/article/details/131846958

232. 用栈实现队列

本题要求使用两个栈实现一个队列,注意点一个是用栈模拟队列的操作,一个是构造函数怎么写。

这题声明的栈在构造函数之外, 构造函数置空就可以了:

 stack<int> st1, st2;
    MyQueue() {

    }

其他的就是没啥了,注意点:栈的st.top()只取栈顶元素,不出栈,st.pop()返回栈顶元素且出栈,而队列的q.pop()是void,只能用q.front()先取队首元素再出队

225. 用队列实现栈

说是两个队列,实际上一个队列就够了。

注意点:栈的st.top()只取栈顶元素,不出栈,st.pop()返回栈顶元素且出栈,而队列的q.pop()是void,只能用q.front()先取队首元素再出队,q.back()用来取队尾元素,而栈只有一头是通的。

你可能感兴趣的:(数据结构与算法(二刷),c++)