232.栈实现队列(力扣leetcode) 博主可答疑该问题

一、笔记部分

push这个已经将其他方法都已经代替了。Push已经使得后面的方面没有什么意义了。

我这个Push里面有while,如果本来数就比较多,就意味着,我要添加一个数的时候,那就要将栈里的数来回导入导出,复杂度是O(n)

更有效率的解法:

要好好利用两个栈,不是只是在push将全部的任务都做了

用的时候再取出来。  他这个实则就是移动了一次,到需要的时候就把新压入的转到out栈里,先压入的都在In栈里。所以进行每次查找,推出的操作的时候,都需要先将in栈里的换到out栈里。  

相当于out栈的最上面的那个数一直是最先进入in栈的,只有当Out栈没有的时候才会把in栈的压入Out栈,这样才不会把Out栈里的元素覆盖。

二、栈和队列结构类型的高频面试题汇总:

https://blog.csdn.net/qq_40262372/article/details/112974341

三、各种类型的高频面试题汇总:

https://blog.csdn.net/qq_40262372/article/details/112556249

 

四、如有疑问可加QQ群讨论:725936761 博主免费答疑

猜你喜欢

转载自blog.csdn.net/qq_40262372/article/details/112974651