![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题
是曹大大
这个作者很懒,什么都没留下…
展开
-
双队列实现栈
两个队列实现栈原理分析代码 原理分析 栈:先进后出 队列:先进先出 两个队列结构:queue1、queue2,queue1用作默认入栈入口 push:开始,判断 queue2是否为空,true则直接将数据放入queue1(默认入栈容器)中,false则放入queue2中 pop:开始,判断queue1、queue2是否都为空,true则返回null,false则找到不为空的那个(一般情况下一个为空,一个不为空)。假设queue2为空,queue1不为空,此时,将queue1中元素移向queue2,直到 q原创 2020-05-11 12:41:03 · 547 阅读 · 0 评论 -
双栈实现队列(改进版)
两个栈实现队列(改良版)原理分析代码 原理分析 栈:先进后出;队列:先进先出 现在初始化两个栈 stack1、stack2,一个进,一个出 进队:直接压入 stack1 出队:最开始,stack2 里面是没有东西的,那么这时候就把 stack1 里面的所有元素依次 pop 出,并 push 入 stack1; 全部转移之后,处于 stack2 栈顶的就是最早进入 stack1 的元素,这时,对 stack2 进行 pop, 出去的就是最早进入队列(双栈)的元素;第一次之后,stack2 中已经有元素,这时原创 2020-05-11 06:41:25 · 286 阅读 · 0 评论 -
LeetCode刷题心得
LeetCode刷题感想代码简洁 代码简洁 舍弃用不到的变量 如果需要判断输入为空且有返回值,那么可以直接返回输入 例子: /** * 我的代码 */ public ListNode deleteDuplicates(ListNode head) { if(head == null) return null; //这里可以把判断放进while的条件里 Li...原创 2019-04-25 20:42:00 · 167 阅读 · 0 评论